export {};

declare global {
    interface Window {
        ajaxurl: string
        GPEB: {
            ajaxUrl: string
            blockEditorXHRNonce: string
            canEditEntriesBlocks: boolean
            entryFilterPropertyGroups: { [propertyGroupId: string]: { label: string } }
			filterBlockUnsupportedInputTypes: string[]
			availableRoles: { [role: string]: string }
        }
		form: Pick<GFForm, 'id' | 'fields'>
		gpebClFiltersAdded?: boolean
    }

    interface BlockProps<T, C = T> {
		isSelected: any;
        category: string
        name: string
        parent?: string[]
        title: string
        attributes: { [attr in keyof T]: any },
        context: { [attr in keyof C]: any },
        setAttributes: (any) => any
        clientId: string
        children?: React.ReactNode
    }
}
