import { ComponentSchema } from '../../../types/src/index';
/**
 * 提供组件复制粘贴功能的Hook
 * @param pageSchema 页面Schema数据
 * @param setSelectedNode 设置选中节点的函数
 * @param revokePush 撤销栈推送函数
 */
export declare function useClipboard(pageSchema: any, setSelectedNode: (schema: ComponentSchema | null) => void, revokePush: (message: string) => void): {
    clipboardNode: import('vue').Ref<{
        [x: string]: any;
        children?: /*elided*/ any[] | undefined;
        componentProps?: any;
        describe?: string | undefined;
        editData?: object | undefined;
        field?: string | undefined;
        id?: string | undefined;
        input?: boolean | undefined;
        label?: string | undefined;
        noFormItem?: boolean | undefined;
        on?: {
            [eventName: string]: import('../../../utils/src/index').ActionsModel[];
        } | undefined;
        rules?: {
            [x: string]: any;
            trigger?: string | string[] | undefined;
            enum?: Array<boolean | null | number | string | undefined> | undefined;
            isValidator?: boolean | undefined;
            len?: number | undefined;
            max?: number | undefined;
            message?: ((a?: string) => string) | string | undefined;
            min?: number | undefined;
            pattern?: (RegExp | string) | undefined;
            required?: boolean | undefined;
            type?: string | undefined;
            validator?: string | undefined;
            whitespace?: boolean | undefined;
        }[] | undefined;
        show?: ((renderCallbackParams: import('../../../types/src/index').RenderCallbackParams) => boolean) | boolean | undefined;
        slotName?: string | undefined;
        slots?: {
            [slotName: string]: ComponentSchema[];
        } | undefined;
        type: string;
    } | null, ComponentSchema | {
        [x: string]: any;
        children?: /*elided*/ any[] | undefined;
        componentProps?: any;
        describe?: string | undefined;
        editData?: object | undefined;
        field?: string | undefined;
        id?: string | undefined;
        input?: boolean | undefined;
        label?: string | undefined;
        noFormItem?: boolean | undefined;
        on?: {
            [eventName: string]: import('../../../utils/src/index').ActionsModel[];
        } | undefined;
        rules?: {
            [x: string]: any;
            trigger?: string | string[] | undefined;
            enum?: Array<boolean | null | number | string | undefined> | undefined;
            isValidator?: boolean | undefined;
            len?: number | undefined;
            max?: number | undefined;
            message?: ((a?: string) => string) | string | undefined;
            min?: number | undefined;
            pattern?: (RegExp | string) | undefined;
            required?: boolean | undefined;
            type?: string | undefined;
            validator?: string | undefined;
            whitespace?: boolean | undefined;
        }[] | undefined;
        show?: ((renderCallbackParams: import('../../../types/src/index').RenderCallbackParams) => boolean) | boolean | undefined;
        slotName?: string | undefined;
        slots?: {
            [slotName: string]: ComponentSchema[];
        } | undefined;
        type: string;
    } | null>;
    copy: (selectedNode: ComponentSchema | null) => boolean;
    cut: (selectedNode: ComponentSchema | null) => boolean;
    duplicate: (selectedNodeId: null | string | undefined) => boolean;
    paste: (selectedNodeId: null | string | undefined) => boolean;
};
