import { Audit, AuditTimeLine, ChangeData, AuditDetail } from '../types/audit';
export declare const useItsAuditStore: import('pinia').StoreDefinition<"its-audit", Pick<{
    auditQueue: import('vue').Ref<{
        audits: {
            auditId?: number | undefined;
            event: string;
            eventIcon?: string | undefined;
            eventColor?: string | undefined;
            nameSpace: string;
            dateCreated?: string | undefined;
            auditConstituent: {
                constituentId?: number | undefined;
                constituentCode: string;
            };
            documents?: {
                documentId: number;
                fileName: string;
                fileDownloadUri: string;
                fileType: string;
                fileSize: number;
                dateCreated: string;
                auditId: number;
            }[] | undefined;
            details?: {
                detailKey: string;
                detailValue: string;
            }[] | undefined;
        }[];
    }, {
        audits: Audit[];
    } | {
        audits: {
            auditId?: number | undefined;
            event: string;
            eventIcon?: string | undefined;
            eventColor?: string | undefined;
            nameSpace: string;
            dateCreated?: string | undefined;
            auditConstituent: {
                constituentId?: number | undefined;
                constituentCode: string;
            };
            documents?: {
                documentId: number;
                fileName: string;
                fileDownloadUri: string;
                fileType: string;
                fileSize: number;
                dateCreated: string;
                auditId: number;
            }[] | undefined;
            details?: {
                detailKey: string;
                detailValue: string;
            }[] | undefined;
        }[];
    }>;
    addToAuditQueue: (audit: Audit, auditDetails: AuditDetail[], changeData: Array<ChangeData>) => void;
    postAudit: () => Promise<boolean>;
    getAuditQueue: (detailKey?: string, userEmail?: string) => Array<Audit>;
    auditReason: import('vue').Ref<any, any>;
    resetAuditQueue: () => void;
    getAuditsByDetailKey: (detailKey: string) => Promise<Audit[]>;
    mapAuditToTimeLine: (audits: Audit[]) => AuditTimeLine[];
    getPreviewHtml: (changeData: ChangeData[]) => string;
    commitSessionAudits: () => Promise<{
        success: boolean;
        message: string;
        reason?: undefined;
        error?: undefined;
    } | {
        success: boolean;
        message: string;
        reason: any;
        error?: undefined;
    } | {
        success: boolean;
        message: string;
        error: unknown;
        reason: any;
    }>;
    startAuditSession: (reason: any) => void;
    endAuditSession: () => void;
    commitChanges: (formId: string, data: any, audit: Audit, detailKeyIdentifier: string, actionType: "delete" | "update" | "new", propertyForNew: Array<string>, addnDetailValue?: any, requireConfirmation?: boolean) => Promise<{
        success: boolean;
        message?: string;
        queued?: boolean;
    }> | {
        preview: any;
        confirm: () => Promise<{
            success: boolean;
            message?: string;
            queued?: boolean;
        }>;
    };
    trackChanges: (formId: string, data: any, isNew: boolean) => void;
    resetChanges: (formId: string) => void;
    resetAllChanges: () => void;
    updateSessionReason: (updates: any) => void;
}, "auditQueue" | "auditReason">, Pick<{
    auditQueue: import('vue').Ref<{
        audits: {
            auditId?: number | undefined;
            event: string;
            eventIcon?: string | undefined;
            eventColor?: string | undefined;
            nameSpace: string;
            dateCreated?: string | undefined;
            auditConstituent: {
                constituentId?: number | undefined;
                constituentCode: string;
            };
            documents?: {
                documentId: number;
                fileName: string;
                fileDownloadUri: string;
                fileType: string;
                fileSize: number;
                dateCreated: string;
                auditId: number;
            }[] | undefined;
            details?: {
                detailKey: string;
                detailValue: string;
            }[] | undefined;
        }[];
    }, {
        audits: Audit[];
    } | {
        audits: {
            auditId?: number | undefined;
            event: string;
            eventIcon?: string | undefined;
            eventColor?: string | undefined;
            nameSpace: string;
            dateCreated?: string | undefined;
            auditConstituent: {
                constituentId?: number | undefined;
                constituentCode: string;
            };
            documents?: {
                documentId: number;
                fileName: string;
                fileDownloadUri: string;
                fileType: string;
                fileSize: number;
                dateCreated: string;
                auditId: number;
            }[] | undefined;
            details?: {
                detailKey: string;
                detailValue: string;
            }[] | undefined;
        }[];
    }>;
    addToAuditQueue: (audit: Audit, auditDetails: AuditDetail[], changeData: Array<ChangeData>) => void;
    postAudit: () => Promise<boolean>;
    getAuditQueue: (detailKey?: string, userEmail?: string) => Array<Audit>;
    auditReason: import('vue').Ref<any, any>;
    resetAuditQueue: () => void;
    getAuditsByDetailKey: (detailKey: string) => Promise<Audit[]>;
    mapAuditToTimeLine: (audits: Audit[]) => AuditTimeLine[];
    getPreviewHtml: (changeData: ChangeData[]) => string;
    commitSessionAudits: () => Promise<{
        success: boolean;
        message: string;
        reason?: undefined;
        error?: undefined;
    } | {
        success: boolean;
        message: string;
        reason: any;
        error?: undefined;
    } | {
        success: boolean;
        message: string;
        error: unknown;
        reason: any;
    }>;
    startAuditSession: (reason: any) => void;
    endAuditSession: () => void;
    commitChanges: (formId: string, data: any, audit: Audit, detailKeyIdentifier: string, actionType: "delete" | "update" | "new", propertyForNew: Array<string>, addnDetailValue?: any, requireConfirmation?: boolean) => Promise<{
        success: boolean;
        message?: string;
        queued?: boolean;
    }> | {
        preview: any;
        confirm: () => Promise<{
            success: boolean;
            message?: string;
            queued?: boolean;
        }>;
    };
    trackChanges: (formId: string, data: any, isNew: boolean) => void;
    resetChanges: (formId: string) => void;
    resetAllChanges: () => void;
    updateSessionReason: (updates: any) => void;
}, never>, Pick<{
    auditQueue: import('vue').Ref<{
        audits: {
            auditId?: number | undefined;
            event: string;
            eventIcon?: string | undefined;
            eventColor?: string | undefined;
            nameSpace: string;
            dateCreated?: string | undefined;
            auditConstituent: {
                constituentId?: number | undefined;
                constituentCode: string;
            };
            documents?: {
                documentId: number;
                fileName: string;
                fileDownloadUri: string;
                fileType: string;
                fileSize: number;
                dateCreated: string;
                auditId: number;
            }[] | undefined;
            details?: {
                detailKey: string;
                detailValue: string;
            }[] | undefined;
        }[];
    }, {
        audits: Audit[];
    } | {
        audits: {
            auditId?: number | undefined;
            event: string;
            eventIcon?: string | undefined;
            eventColor?: string | undefined;
            nameSpace: string;
            dateCreated?: string | undefined;
            auditConstituent: {
                constituentId?: number | undefined;
                constituentCode: string;
            };
            documents?: {
                documentId: number;
                fileName: string;
                fileDownloadUri: string;
                fileType: string;
                fileSize: number;
                dateCreated: string;
                auditId: number;
            }[] | undefined;
            details?: {
                detailKey: string;
                detailValue: string;
            }[] | undefined;
        }[];
    }>;
    addToAuditQueue: (audit: Audit, auditDetails: AuditDetail[], changeData: Array<ChangeData>) => void;
    postAudit: () => Promise<boolean>;
    getAuditQueue: (detailKey?: string, userEmail?: string) => Array<Audit>;
    auditReason: import('vue').Ref<any, any>;
    resetAuditQueue: () => void;
    getAuditsByDetailKey: (detailKey: string) => Promise<Audit[]>;
    mapAuditToTimeLine: (audits: Audit[]) => AuditTimeLine[];
    getPreviewHtml: (changeData: ChangeData[]) => string;
    commitSessionAudits: () => Promise<{
        success: boolean;
        message: string;
        reason?: undefined;
        error?: undefined;
    } | {
        success: boolean;
        message: string;
        reason: any;
        error?: undefined;
    } | {
        success: boolean;
        message: string;
        error: unknown;
        reason: any;
    }>;
    startAuditSession: (reason: any) => void;
    endAuditSession: () => void;
    commitChanges: (formId: string, data: any, audit: Audit, detailKeyIdentifier: string, actionType: "delete" | "update" | "new", propertyForNew: Array<string>, addnDetailValue?: any, requireConfirmation?: boolean) => Promise<{
        success: boolean;
        message?: string;
        queued?: boolean;
    }> | {
        preview: any;
        confirm: () => Promise<{
            success: boolean;
            message?: string;
            queued?: boolean;
        }>;
    };
    trackChanges: (formId: string, data: any, isNew: boolean) => void;
    resetChanges: (formId: string) => void;
    resetAllChanges: () => void;
    updateSessionReason: (updates: any) => void;
}, "addToAuditQueue" | "postAudit" | "getAuditQueue" | "resetAuditQueue" | "getAuditsByDetailKey" | "mapAuditToTimeLine" | "getPreviewHtml" | "commitSessionAudits" | "startAuditSession" | "endAuditSession" | "commitChanges" | "trackChanges" | "resetChanges" | "resetAllChanges" | "updateSessionReason">>;
