export interface TableColumn {
    header: string;
    accessorKey: string;
    visible: boolean;
}
export interface FormMember {
    field_type: string;
    table?: string;
    table_columns?: TableColumn[];
    [key: string]: any;
}
export interface FormSection {
    field_type: string;
    label: string;
    is_accordion: boolean;
    id: string;
    remove_section: boolean;
    form_switcher_label?: string;
    form_switcher_name?: string;
    is_section_field?: boolean;
    section_type?: string;
    switcher_forms?: any;
    members: FormMember[];
}
export interface TabData {
    tab_order: number;
    data: FormSection[];
}
export interface ProcessedData {
    tab?: TabData[];
    section?: FormSection[];
    tabsData?: TabData[];
}
declare const MODULE_PATHS: {
    readonly accounting: string;
    readonly inventory: string;
    readonly manufacturing: string;
    readonly procurement: string;
    readonly crm: string;
    readonly rental: string;
    readonly user: string;
    readonly hrms: "/forms";
};
export type ModuleType = keyof typeof MODULE_PATHS;
export declare const formatText: (text: string) => string;
export declare const createDefaultTableColumns: () => TableColumn[];
export declare const processTableColumns: (member: FormMember, formBuilder: any) => TableColumn[];
export declare const processMembers: (sections: FormSection[], formBuilder: any) => FormMember[];
export declare const extractSections: (sections: FormSection[]) => Omit<FormSection, "members">[];
export declare const useFormDataProcessor: (formBuilder: any, tabsData: TabData[], activeTabValue: number, callbacks: {
    removeSection: () => void;
    remove: () => void;
    setTabsData: (data: TabData[]) => void;
    append: (members: FormMember[]) => void;
    appendSection: (sections: Omit<FormSection, "members">[]) => void;
}) => {
    initialData: any;
};
export declare const useFormDataEffect: (formBuilder: any, tabsData: TabData[], activeTabValue: number, callbacks: {
    removeSection: () => void;
    remove: () => void;
    setTabsData: (data: TabData[]) => void;
    append: (members: FormMember[]) => void;
    appendSection: (sections: Omit<FormSection, "members">[]) => void;
}) => void;
export declare const generateModulePath: (currentModule: string) => string;
export declare const generateCustomFormPath: (currentModule: any, redirectionPath: any) => any;
export {};
