import type { Ref } from './vue/dist/vue.esm-bundler.js';
import type { StoreDefinition, _UnwrapAll, PiniaCustomStateProperties } from 'pinia';
import type { ComponentTypes, ComponentIcon, ComponentFieldName, Component } from '../types/component.types';
import { FormActionTypes } from '../types/action.types';
export interface Meta {
    version?: string;
    pages: Array<Pages>;
    fields: {
        contact: Array<DataField>;
        activity: Array<DataField>;
    };
}
export interface Page {
    id: number | string;
    name: string;
    meta: Meta;
    components: Array<Component>;
}
export interface DataField {
    id: number;
    name: string;
    caption: string;
}
export interface Pages {
    id: number;
    name: string;
}
export interface PageMeta {
    id: string;
    meta: Meta;
}
export interface RootState {
    page: Page;
}
export declare const useFormBuilderStore: StoreDefinition<"builder", _UnwrapAll<Pick<{
    list: Ref<readonly ({
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly text: string;
            readonly placeholder?: undefined;
            readonly required?: undefined;
            readonly value?: undefined;
            readonly mapping?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly placeholder: null;
            readonly required: boolean;
            readonly value: undefined;
            readonly mapping: {};
            readonly text?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly disabled: boolean;
            readonly required: boolean;
            readonly options: readonly {
                readonly label: string;
                readonly value: null;
            }[];
            readonly mapping: {};
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly value?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly required: boolean;
            readonly options: readonly {
                readonly label: string;
                readonly value: null;
            }[];
            readonly mapping: {};
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly value?: undefined;
            readonly disabled?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly action: {
                readonly name: null;
                readonly target: {
                    readonly id: null;
                    readonly page: null;
                };
            };
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly required?: undefined;
            readonly value?: undefined;
            readonly mapping?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly imageUrl: string;
            readonly imageId: string;
            readonly label: string;
            readonly css: {
                readonly alignment: string;
                readonly width: number;
            };
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly required?: undefined;
            readonly value?: undefined;
            readonly mapping?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly required: boolean;
            readonly mapping: {};
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly value?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    })[]>;
    validationOptions: Ref<readonly ({
        readonly value: null;
        readonly label: string;
        readonly class: string;
        readonly disabled: boolean;
    } | {
        readonly value: string;
        readonly label: string;
        readonly class?: undefined;
        readonly disabled?: undefined;
    })[]>;
}, "list" | "validationOptions">>, Pick<{
    list: Ref<readonly ({
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly text: string;
            readonly placeholder?: undefined;
            readonly required?: undefined;
            readonly value?: undefined;
            readonly mapping?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly placeholder: null;
            readonly required: boolean;
            readonly value: undefined;
            readonly mapping: {};
            readonly text?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly disabled: boolean;
            readonly required: boolean;
            readonly options: readonly {
                readonly label: string;
                readonly value: null;
            }[];
            readonly mapping: {};
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly value?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly required: boolean;
            readonly options: readonly {
                readonly label: string;
                readonly value: null;
            }[];
            readonly mapping: {};
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly value?: undefined;
            readonly disabled?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly action: {
                readonly name: null;
                readonly target: {
                    readonly id: null;
                    readonly page: null;
                };
            };
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly required?: undefined;
            readonly value?: undefined;
            readonly mapping?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly imageUrl: string;
            readonly imageId: string;
            readonly label: string;
            readonly css: {
                readonly alignment: string;
                readonly width: number;
            };
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly required?: undefined;
            readonly value?: undefined;
            readonly mapping?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly required: boolean;
            readonly mapping: {};
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly value?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    })[]>;
    validationOptions: Ref<readonly ({
        readonly value: null;
        readonly label: string;
        readonly class: string;
        readonly disabled: boolean;
    } | {
        readonly value: string;
        readonly label: string;
        readonly class?: undefined;
        readonly disabled?: undefined;
    })[]>;
}, never>, Pick<{
    list: Ref<readonly ({
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly text: string;
            readonly placeholder?: undefined;
            readonly required?: undefined;
            readonly value?: undefined;
            readonly mapping?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly placeholder: null;
            readonly required: boolean;
            readonly value: undefined;
            readonly mapping: {};
            readonly text?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly disabled: boolean;
            readonly required: boolean;
            readonly options: readonly {
                readonly label: string;
                readonly value: null;
            }[];
            readonly mapping: {};
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly value?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly required: boolean;
            readonly options: readonly {
                readonly label: string;
                readonly value: null;
            }[];
            readonly mapping: {};
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly value?: undefined;
            readonly disabled?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly action: {
                readonly name: null;
                readonly target: {
                    readonly id: null;
                    readonly page: null;
                };
            };
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly required?: undefined;
            readonly value?: undefined;
            readonly mapping?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly imageUrl: string;
            readonly imageId: string;
            readonly label: string;
            readonly css: {
                readonly alignment: string;
                readonly width: number;
            };
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly required?: undefined;
            readonly value?: undefined;
            readonly mapping?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
        };
    } | {
        readonly id: string;
        readonly component: ComponentTypes;
        readonly icon: ComponentIcon;
        readonly field: ComponentFieldName;
        readonly attributes: {
            readonly label: string;
            readonly required: boolean;
            readonly mapping: {};
            readonly text?: undefined;
            readonly placeholder?: undefined;
            readonly value?: undefined;
            readonly disabled?: undefined;
            readonly options?: undefined;
            readonly action?: undefined;
            readonly imageUrl?: undefined;
            readonly imageId?: undefined;
            readonly css?: undefined;
        };
    })[]>;
    validationOptions: Ref<readonly ({
        readonly value: null;
        readonly label: string;
        readonly class: string;
        readonly disabled: boolean;
    } | {
        readonly value: string;
        readonly label: string;
        readonly class?: undefined;
        readonly disabled?: undefined;
    })[]>;
}, never>>;
export declare const useFormStore: StoreDefinition<"ipscape-form-builder", RootState, {
    getMetaDataFields: (state: {
        page: {
            id: number | string;
            name: string;
            meta: {
                version?: string | undefined;
                pages: {
                    id: number;
                    name: string;
                }[];
                fields: {
                    contact: {
                        id: number;
                        name: string;
                        caption: string;
                    }[];
                    activity: {
                        id: number;
                        name: string;
                        caption: string;
                    }[];
                };
            };
            components: {
                attributes: {
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    action: {
                        name: string | null;
                        target: {
                            id: number | null;
                            page: string;
                        };
                    };
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string;
                    required: boolean;
                    isChecked?: boolean | "false" | "mixed" | "true" | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    disabled: boolean;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    placeholder: string | null;
                    required: boolean;
                    validation?: string | null | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    imageUrl: string;
                    imageId: string | number;
                    label: string;
                    css: {
                        alignment: "center" | "left" | "right";
                        width: number;
                    };
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string;
                    disabled: boolean;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    text: string | null;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    required: boolean;
                    total?: number | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    placeholder: string | null;
                    required: boolean;
                    value: string | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                };
                id: string;
                component: ComponentTypes;
                icon?: ComponentIcon | undefined;
                field: ComponentFieldName;
                meta?: {
                    pages: {
                        id: number;
                        name: string;
                    }[];
                    fields: {
                        contact: {
                            id: number;
                            name: string;
                            caption: string;
                        }[];
                        activity: {
                            id: number;
                            name: string;
                            caption: string;
                        }[];
                    };
                } | undefined;
            }[];
        };
    } & PiniaCustomStateProperties<RootState>) => {
        contact: {
            id: number;
            name: string;
            caption: string;
        }[];
        activity: {
            id: number;
            name: string;
            caption: string;
        }[];
    };
    getMetaDataFieldById: (state: {
        page: {
            id: number | string;
            name: string;
            meta: {
                version?: string | undefined;
                pages: {
                    id: number;
                    name: string;
                }[];
                fields: {
                    contact: {
                        id: number;
                        name: string;
                        caption: string;
                    }[];
                    activity: {
                        id: number;
                        name: string;
                        caption: string;
                    }[];
                };
            };
            components: {
                attributes: {
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    action: {
                        name: string | null;
                        target: {
                            id: number | null;
                            page: string;
                        };
                    };
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string;
                    required: boolean;
                    isChecked?: boolean | "false" | "mixed" | "true" | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    disabled: boolean;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    placeholder: string | null;
                    required: boolean;
                    validation?: string | null | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    imageUrl: string;
                    imageId: string | number;
                    label: string;
                    css: {
                        alignment: "center" | "left" | "right";
                        width: number;
                    };
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string;
                    disabled: boolean;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    text: string | null;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    required: boolean;
                    total?: number | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    placeholder: string | null;
                    required: boolean;
                    value: string | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                };
                id: string;
                component: ComponentTypes;
                icon?: ComponentIcon | undefined;
                field: ComponentFieldName;
                meta?: {
                    pages: {
                        id: number;
                        name: string;
                    }[];
                    fields: {
                        contact: {
                            id: number;
                            name: string;
                            caption: string;
                        }[];
                        activity: {
                            id: number;
                            name: string;
                            caption: string;
                        }[];
                    };
                } | undefined;
            }[];
        };
    } & PiniaCustomStateProperties<RootState>) => (id: number) => DataField | null;
    getPageComponents: (state: {
        page: {
            id: number | string;
            name: string;
            meta: {
                version?: string | undefined;
                pages: {
                    id: number;
                    name: string;
                }[];
                fields: {
                    contact: {
                        id: number;
                        name: string;
                        caption: string;
                    }[];
                    activity: {
                        id: number;
                        name: string;
                        caption: string;
                    }[];
                };
            };
            components: {
                attributes: {
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    action: {
                        name: string | null;
                        target: {
                            id: number | null;
                            page: string;
                        };
                    };
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string;
                    required: boolean;
                    isChecked?: boolean | "false" | "mixed" | "true" | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    disabled: boolean;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    placeholder: string | null;
                    required: boolean;
                    validation?: string | null | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    imageUrl: string;
                    imageId: string | number;
                    label: string;
                    css: {
                        alignment: "center" | "left" | "right";
                        width: number;
                    };
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string;
                    disabled: boolean;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    text: string | null;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    required: boolean;
                    total?: number | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    placeholder: string | null;
                    required: boolean;
                    value: string | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                };
                id: string;
                component: ComponentTypes;
                icon?: ComponentIcon | undefined;
                field: ComponentFieldName;
                meta?: {
                    pages: {
                        id: number;
                        name: string;
                    }[];
                    fields: {
                        contact: {
                            id: number;
                            name: string;
                            caption: string;
                        }[];
                        activity: {
                            id: number;
                            name: string;
                            caption: string;
                        }[];
                    };
                } | undefined;
            }[];
        };
    } & PiniaCustomStateProperties<RootState>) => {
        attributes: {
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        } | {
            label: string | null;
            action: {
                name: string | null;
                target: {
                    id: number | null;
                    page: string;
                };
            };
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        } | {
            label: string;
            required: boolean;
            isChecked?: boolean | "false" | "mixed" | "true" | undefined;
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        } | {
            label: string | null;
            disabled: boolean;
            required: boolean;
            options: {
                label: string;
                value: string | null;
            }[];
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        } | {
            label: string | null;
            placeholder: string | null;
            required: boolean;
            validation?: string | null | undefined;
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        } | {
            imageUrl: string;
            imageId: string | number;
            label: string;
            css: {
                alignment: "center" | "left" | "right";
                width: number;
            };
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        } | {
            label: string;
            disabled: boolean;
            required: boolean;
            options: {
                label: string;
                value: string | null;
            }[];
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        } | {
            text: string | null;
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        } | {
            label: string | null;
            required: boolean;
            total?: number | undefined;
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        } | {
            label: string | null;
            required: boolean;
            options: {
                label: string;
                value: string | null;
            }[];
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        } | {
            label: string | null;
            placeholder: string | null;
            required: boolean;
            value: string | undefined;
            mapping?: {
                id: number;
                name: string;
                caption: string;
            } | null | undefined;
        };
        id: string;
        component: ComponentTypes;
        icon?: ComponentIcon | undefined;
        field: ComponentFieldName;
        meta?: {
            pages: {
                id: number;
                name: string;
            }[];
            fields: {
                contact: {
                    id: number;
                    name: string;
                    caption: string;
                }[];
                activity: {
                    id: number;
                    name: string;
                    caption: string;
                }[];
            };
        } | undefined;
    }[];
    getComponentByIndex: (state: {
        page: {
            id: number | string;
            name: string;
            meta: {
                version?: string | undefined;
                pages: {
                    id: number;
                    name: string;
                }[];
                fields: {
                    contact: {
                        id: number;
                        name: string;
                        caption: string;
                    }[];
                    activity: {
                        id: number;
                        name: string;
                        caption: string;
                    }[];
                };
            };
            components: {
                attributes: {
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    action: {
                        name: string | null;
                        target: {
                            id: number | null;
                            page: string;
                        };
                    };
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string;
                    required: boolean;
                    isChecked?: boolean | "false" | "mixed" | "true" | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    disabled: boolean;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    placeholder: string | null;
                    required: boolean;
                    validation?: string | null | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    imageUrl: string;
                    imageId: string | number;
                    label: string;
                    css: {
                        alignment: "center" | "left" | "right";
                        width: number;
                    };
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string;
                    disabled: boolean;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    text: string | null;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    required: boolean;
                    total?: number | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    placeholder: string | null;
                    required: boolean;
                    value: string | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                };
                id: string;
                component: ComponentTypes;
                icon?: ComponentIcon | undefined;
                field: ComponentFieldName;
                meta?: {
                    pages: {
                        id: number;
                        name: string;
                    }[];
                    fields: {
                        contact: {
                            id: number;
                            name: string;
                            caption: string;
                        }[];
                        activity: {
                            id: number;
                            name: string;
                            caption: string;
                        }[];
                    };
                } | undefined;
            }[];
        };
    } & PiniaCustomStateProperties<RootState>) => (index: number) => Component;
    getComponentById: (state: {
        page: {
            id: number | string;
            name: string;
            meta: {
                version?: string | undefined;
                pages: {
                    id: number;
                    name: string;
                }[];
                fields: {
                    contact: {
                        id: number;
                        name: string;
                        caption: string;
                    }[];
                    activity: {
                        id: number;
                        name: string;
                        caption: string;
                    }[];
                };
            };
            components: {
                attributes: {
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    action: {
                        name: string | null;
                        target: {
                            id: number | null;
                            page: string;
                        };
                    };
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string;
                    required: boolean;
                    isChecked?: boolean | "false" | "mixed" | "true" | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    disabled: boolean;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    placeholder: string | null;
                    required: boolean;
                    validation?: string | null | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    imageUrl: string;
                    imageId: string | number;
                    label: string;
                    css: {
                        alignment: "center" | "left" | "right";
                        width: number;
                    };
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string;
                    disabled: boolean;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    text: string | null;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    required: boolean;
                    total?: number | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    required: boolean;
                    options: {
                        label: string;
                        value: string | null;
                    }[];
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                } | {
                    label: string | null;
                    placeholder: string | null;
                    required: boolean;
                    value: string | undefined;
                    mapping?: {
                        id: number;
                        name: string;
                        caption: string;
                    } | null | undefined;
                };
                id: string;
                component: ComponentTypes;
                icon?: ComponentIcon | undefined;
                field: ComponentFieldName;
                meta?: {
                    pages: {
                        id: number;
                        name: string;
                    }[];
                    fields: {
                        contact: {
                            id: number;
                            name: string;
                            caption: string;
                        }[];
                        activity: {
                            id: number;
                            name: string;
                            caption: string;
                        }[];
                    };
                } | undefined;
            }[];
        };
    } & PiniaCustomStateProperties<RootState>) => (id: string) => Component | null;
}, {
    setPage(payload: Page): void;
    updatePageMeta(payload: Meta): void;
    createComponent(payload: Component): void;
    updateComponent(payload: Component): void;
    insertComponent(payload: Component, index: number): void;
    deleteComponent(payload: Component): void;
    updateComponentList(payload: Array<Component>): void;
    sendUpdateEvent(action: FormActionTypes): void;
}>;
