import type { Ref } from 'vue';
import type { Props, Emits, operationType } from '../type';
export declare const useOperation: (props: Props, emit: Emits, rowKey: Ref<string>, $table: Ref) => {
    $oprationsDropdown: Ref<any[], any[]>;
    $oprationsChildDropdown: Ref<any[], any[]>;
    getOperations: (row: any, column: any, index: number) => {
        btnOperates: operationType[];
        moreOperates: operationType[];
    };
    operationItemDisabled: (item: any, row: any, column: any, index: number) => boolean;
    operationItemTip: (item: any, row: any, column: any, index: number) => string;
    getItemChildren: (item: any, row: any) => Promise<any>;
    oprationsClick: (type: "btnOperates" | "moreOperates", command: any, row: any, column: any, index: number) => Promise<void>;
    btnOperationsVisible: Ref<any, any>;
    operationsVisible: Ref<boolean[], boolean[]>;
    operationLazyData: Ref<{
        btnOperates: any;
        moreOperates: any;
    }, Record<"btnOperates" | "moreOperates", any> | {
        btnOperates: any;
        moreOperates: any;
    }>;
    operationClass: import("vue").ComputedRef<string>;
    lazyLoadingMap: Ref<Record<any, any>, Record<any, any>>;
    btnVisibleChange: (visible: boolean, tableIndex: number, index: any) => void;
    visibleChange: (visible: boolean, index: number) => void;
    childDropdownPlacement: Ref<string, string>;
    currentParentOprationVal: Ref<string, string>;
    realOperationOptions: import("vue").ComputedRef<Record<string, any>>;
};
