import React from 'react';
import { SchemaInitializerItemType } from '@tachybase/client';
import { JOB_STATUS } from '@tachybase/module-workflow/client';
import { ISchema } from '@tachybase/schema';
export declare const NOTICE_INSTRUCTION_NAMESPACE = "notice";
export declare const COLLECTION_NOTICE_NAME = "workflowNotice";
export declare const COLLECTION_NAME_APPROVAL_CARBON_COPY = "approvalCarbonCopy";
/**显示状态 */
export declare const APPROVAL_STATUS: {
    /**已分配 */
    ASSIGNED: any;
    /** 待处理*/
    PENDING: number;
    /**已退回 */
    RETURNED: number;
    /**已通过 */
    APPROVED: number;
    /**已拒绝 */
    REJECTED: number;
    /**取消 */
    CANCELED: number;
    /**撤回 */
    WITHDRAWN: number;
};
export declare const ProcessedStatus: number[];
export declare const approvalStatusOptions: ({
    value: any;
    label: string;
    color: string;
} | {
    value: number;
    label: string;
    color?: undefined;
})[];
/**行为状态 */
export declare const APPROVAL_ACTION_STATUS: {
    /** 0：草稿 */
    DRAFT: number;
    /** 1：已退回 */
    RETURNED: number;
    /** 2：提交 */
    SUBMITTED: number;
    /** 3：处理中 */
    PROCESSING: number;
    /** 4：已完结 */
    APPROVED: number;
    /**5：重新提交 */
    RESUBMIT: number;
    /** -1：拒收 */
    REJECTED: number;
};
export declare const ApprovalStatusEnums: ({
    value: number;
    label: string;
    editable: boolean;
    color?: undefined;
} | {
    value: number;
    label: string;
    color: string;
    editable: boolean;
} | {
    value: number;
    label: string;
    color: string;
    editable?: undefined;
})[];
export declare const ApprovalPriorityType: {
    value: string;
    label: string;
    color: string;
}[];
export declare const ApprovalStatusEnumDict: {};
export declare const JobStatusEnums: {
    0: {
        color: string;
        label: string;
    };
    1: {
        color: string;
        label: string;
    };
    [-5]: {
        color: string;
        label: string;
    };
    [-6]: {
        color: string;
        label: string;
    };
};
export declare const VoteCategory: {
    SINGLE: symbol;
    ALL: symbol;
    VOTE: symbol;
};
export declare const VoteCategoryEnums: {};
export declare function voteOption(value: number): symbol;
export declare function flatSchemaArray(sourceData: any, filter: any, needRecursion?: boolean): any[];
type ValueOf<T> = T[keyof T];
export type FormType = {
    type: 'create' | 'update' | 'custom';
    title: string;
    actions: ValueOf<typeof JOB_STATUS>[];
    collection: string | {
        name: string;
        fields: any[];
        [key: string]: any;
    };
};
export type ManualFormType = {
    title: string;
    config: {
        useInitializer: ({ allCollections }?: {
            allCollections: any[];
        }) => SchemaInitializerItemType;
        initializers?: {
            [key: string]: React.FC;
        };
        components?: {
            [key: string]: React.FC;
        };
        parseFormOptions(root: ISchema): {
            [key: string]: FormType;
        };
    };
    block: {
        scope?: {
            [key: string]: () => any;
        };
        components?: {
            [key: string]: React.FC;
        };
    };
};
export declare const EXECUTION_STATUS: {
    QUEUEING: any;
    STARTED: number;
    RESOLVED: number;
    FAILED: number;
    ERROR: number;
    ABORTED: number;
    CANCELED: number;
    REJECTED: number;
    RETRY_NEEDED: number;
};
export declare const ExecutionStatusOptions: {
    value: any;
    label: string;
    color: string;
    icon: import("react/jsx-runtime").JSX.Element;
    description: string;
}[];
export declare const ApprovalNoticeStatusOptions: {
    value: any;
    label: string;
    color: string;
}[];
export {};
