interface ISubmitForm {
    formId: string;
    onSubmit?: () => Promise<boolean>;
}
interface IValidationState {
    valid: Record<string, boolean>;
    submitAbleForms: ISubmitForm[];
    isSubmitting: boolean;
}
export declare const useValidation: import("pinia").StoreDefinition<"validation", IValidationState, {
    isValid: (state: {
        valid: Record<string, boolean>;
        submitAbleForms: {
            formId: string;
            onSubmit?: () => Promise<boolean>;
        }[];
        isSubmitting: boolean;
    } & import("pinia").PiniaCustomStateProperties<IValidationState>) => boolean;
    hasChanges: (state: {
        valid: Record<string, boolean>;
        submitAbleForms: {
            formId: string;
            onSubmit?: () => Promise<boolean>;
        }[];
        isSubmitting: boolean;
    } & import("pinia").PiniaCustomStateProperties<IValidationState>) => boolean;
}, {
    submitForm({ formId, onSubmit }: ISubmitForm): Promise<void>;
    submit(): Promise<void>;
    subscribeForSubmit(form: ISubmitForm): void;
    rollBackChanges(): void;
    resetValidation(formId?: string): void;
}>;
export {};
