/// <reference types="lodash" />
import { CustomFieldForm, CustomFieldModalState } from './CustomFieldModalState';
import { CustomFieldOrigin } from '../services';
export interface CustomFieldModalBiReporterParams {
    customFieldModalState: CustomFieldModalState;
}
export declare class CustomFieldModalBiReporter {
    customFieldModalState: CustomFieldModalState;
    formSnapshot: CustomFieldForm | null;
    reportTypeFormFieldChange: import("lodash").DebouncedFunc<() => void>;
    reportNameFormFieldChange: import("lodash").DebouncedFunc<() => void>;
    reportKeyFormFieldChange: import("lodash").DebouncedFunc<() => void>;
    reportPermissionFormFieldChange: import("lodash").DebouncedFunc<() => void>;
    constructor(params: CustomFieldModalBiReporterParams);
    private get reportBi();
    get form(): import("formstate").FormState<{
        type: import("formstate").FieldState<import("../services").CustomFieldType | undefined>;
        name: import("formstate").FieldState<string>;
        key: import("formstate").FieldState<string>;
        readUsers: import("formstate").FieldState<boolean>;
        readApps: import("formstate").FieldState<boolean>;
        writeUsers: import("formstate").FieldState<boolean>;
        writeApps: import("formstate").FieldState<boolean>;
        containsPii: import("formstate").FieldState<boolean>;
    }>;
    get mode(): "new" | "edit";
    get origin(): "Add Custom Field Modal" | "Edit Custom Field Modal";
    private createReportFormFieldChange;
    reportAddCustomField: ({ origin, customOrigin, }: {
        origin: CustomFieldOrigin;
        customOrigin?: string | undefined;
    }) => void;
    reportAdvancedSettingsClick: (actionName: 'Open' | 'Close') => void;
    reportLearnMoreClick: () => void;
    reportModalEndProcess: (params: {
        endType: 'Cancel' | 'Add Field';
    }) => void;
    reportSubmitFailure: (params: {
        errorType: string | undefined;
    }) => void;
    getBiChangedFields(): string | undefined;
    getBiPermissions(): string;
    init(): () => void;
}
//# sourceMappingURL=CustomFieldModalBiReporter.d.ts.map