/// <reference types="react" />
import { AppsState, DataExtensionState, DefaultPermissionsConfig, ExtendedFields, Fqdn, TaskState, WixPatternsContainer } from '@wix/bex-core';
import { SidePanelsState } from '../SidePanelsState';
import type * as CustomFieldsWidgetLazyContent from '../../components/CustomFieldsWidget/CustomFieldsWidgetLazyContent';
import { CustomFieldsAllNamespacesFormState } from './CustomFieldsAllNamespacesFormState';
import { CustomFieldsPanelState } from './CustomFieldsPanelState';
export interface CustomFieldsWidgetStateParams {
    readonly container: WixPatternsContainer;
    readonly fqdn: Fqdn;
    readonly filterable?: boolean;
    readonly containsPii?: boolean;
    readonly extendedFields?: ExtendedFields;
    readonly defaultPermissions?: DefaultPermissionsConfig;
    readonly enableArchive?: boolean;
}
export type CustomFieldsWidgetSize = 'default' | 'small';
export declare class CustomFieldsWidgetState {
    readonly container: WixPatternsContainer;
    readonly dataExtension: DataExtensionState;
    readonly initTask: TaskState<unknown>;
    _extendedFields: ExtendedFields | null | undefined;
    _formState: CustomFieldsAllNamespacesFormState | null;
    _size: CustomFieldsWidgetSize;
    _widgetContentRef: {
        current: HTMLDivElement | null;
    };
    readonly panels: SidePanelsState;
    readonly reportBi: import("@wix/bex-core").ReportBI;
    readonly fqdn: Fqdn;
    _customFieldsLazyComponents: typeof CustomFieldsWidgetLazyContent | undefined;
    readonly apps: AppsState;
    readonly customFieldsPanel: CustomFieldsPanelState;
    constructor({ container, fqdn, filterable, containsPii, defaultPermissions, extendedFields, enableArchive, }: CustomFieldsWidgetStateParams);
    get _userFieldsNamespace(): string;
    _appLoadingStart(): () => void;
    init({ appLoaded }: {
        appLoaded?: () => void;
    }): () => void;
    getNamespaceFormSchemaAndData(namespace: string): {
        fields: import("@wix/bex-core").CustomField[] | undefined;
        schema: import("@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/build/cjs/types.impl").DataExtensionSchema | undefined;
        extendedFieldsDataMap: import("@wix/bex-core").ExtendedFieldsDataMap | undefined;
    };
    initContent(): () => void;
    _commonDynamicBiParams(): {
        url: string;
        route: string;
    };
    retry(): void;
    get isDirty(): boolean;
    get widgetSize(): CustomFieldsWidgetSize;
    get isLoading(): boolean;
    get ActionButtonsComponent(): ((({ state }: CustomFieldsWidgetLazyContent.CustomFieldsWidgetActionsProps) => import("react").JSX.Element) & {
        displayName: string;
    }) | undefined;
    get CustomFieldsWidgetContent(): ((({ state, onChange, emptyStateOverrides, }: CustomFieldsWidgetLazyContent.CustomFieldsWidgetContentProps) => import("react").JSX.Element) & {
        displayName: string;
    }) | undefined;
    get WixPatternsModalsContainer(): typeof CustomFieldsWidgetLazyContent.WixPatternsModalsContainer | undefined;
    get CustomFieldModal(): ((({ state, }: {
        state: import("@wix/bex-core").CustomFieldModalState;
    }) => import("react").JSX.Element) & {
        displayName: string;
    }) | undefined;
    get ArchiveFieldModal(): ((({ state, }: {
        state: import("@wix/bex-core").ArchiveFieldModalState;
    }) => import("react").JSX.Element) & {
        displayName: string;
    }) | undefined;
    setWidgetContentRef(ref: HTMLDivElement | null): void;
    _adjustWidgetSize(): void;
    get isError(): boolean;
    validate(): Promise<{
        isValid: boolean;
        extendedFields?: ExtendedFields;
        values?: ExtendedFields;
    }>;
    get hasWritePermissions(): boolean;
}
//# sourceMappingURL=CustomFieldsWidgetState.d.ts.map