import { t } from '@das-fed/web';
import { DasTable, DasTableColumn, DasDialog, DasButton, DasSwitch, DasTooltip } from '@das-fed/ui';
import { valueFormat } from '../hooks/useValueFormatter';
import type { Props } from './type';
type __VLS_Props = Props;
declare const loading: import("vue").ModelRef<boolean, string, boolean, boolean>;
declare const copySettingHeaderData: import("vue").Ref<any[], any[]>, copyDialogHeaderData: import("vue").Ref<any, any>, defaultFilterSetting: import("vue").Ref<{
    prop: string;
    order: string;
}[], {
    prop: string;
    order: string;
}[] | {
    prop: string;
    order: string;
}[]>, operation: (row: any, column: any, index: number) => any[], tableData: import("vue").Ref<any, any>, total: import("vue").Ref<number, number>, pageIndex: import("vue").Ref<number, number>, pageSize: import("vue").Ref<number, number>, handleCurrentPageChange: (val: any) => void, handlePageSizeChange: (val: any) => void, sortChange: (column: any) => void, customSelectionOptions: import("vue").Ref<any, any>, showOperationColumn: import("vue").Ref<boolean, boolean>;
declare const showSettingDialog: import("vue").Ref<boolean, boolean>, cancelTabel: () => void, resetDefault: () => void, showAll: () => void, setTable: () => void, tableSetting: () => void;
type __VLS_PublicProps = {
    'loading'?: typeof loading['value'];
} & __VLS_Props;
declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
declare var __VLS_12: {}, __VLS_22: {};
type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
    prepend?: (props: typeof __VLS_12) => any;
} & {
    append?: (props: typeof __VLS_22) => any;
}>;
declare const __VLS_self: import("vue").DefineComponent<__VLS_PublicProps, {
    t: typeof t;
    DasTable: typeof DasTable;
    DasTableColumn: typeof DasTableColumn;
    DasDialog: typeof DasDialog;
    DasButton: typeof DasButton;
    DasSwitch: typeof DasSwitch;
    DasTooltip: typeof DasTooltip;
    valueFormat: typeof valueFormat;
    copySettingHeaderData: typeof copySettingHeaderData;
    copyDialogHeaderData: typeof copyDialogHeaderData;
    defaultFilterSetting: typeof defaultFilterSetting;
    operation: typeof operation;
    tableData: typeof tableData;
    total: typeof total;
    pageIndex: typeof pageIndex;
    pageSize: typeof pageSize;
    handleCurrentPageChange: typeof handleCurrentPageChange;
    handlePageSizeChange: typeof handlePageSizeChange;
    sortChange: typeof sortChange;
    customSelectionOptions: typeof customSelectionOptions;
    showOperationColumn: typeof showOperationColumn;
    showSettingDialog: typeof showSettingDialog;
    cancelTabel: typeof cancelTabel;
    resetDefault: typeof resetDefault;
    showAll: typeof showAll;
    setTable: typeof setTable;
    tableSetting: typeof tableSetting;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:loading": (value: boolean) => any;
} & {
    getSearchQuery: (val: any) => any;
    changeSlotShow: (val: import("./type").ITableShowColumn[]) => any;
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onUpdate:loading"?: ((value: boolean) => any) | undefined;
    onGetSearchQuery?: ((val: any) => any) | undefined;
    onChangeSlotShow?: ((val: import("./type").ITableShowColumn[]) => any) | undefined;
}>, {
    showOperationColumn: boolean;
    flowKey: string;
    needDisplayFileds: boolean;
    clientType: "pc" | "mobile";
    searchQuerys: import("./type").SearchQuerys[] | [];
    sortQuerys: any[] | [];
    extraParams: Record<string, any>;
    permissionQuery: number[];
    apiUrl: string;
    reqMethod: string;
    columnSettingName: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
    reqTableList: () => Promise<void>;
    handleCurrentPageChange: (val: any) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:loading": (value: boolean) => any;
} & {
    getSearchQuery: (val: any) => any;
    changeSlotShow: (val: import("./type").ITableShowColumn[]) => any;
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onUpdate:loading"?: ((value: boolean) => any) | undefined;
    onGetSearchQuery?: ((val: any) => any) | undefined;
    onChangeSlotShow?: ((val: import("./type").ITableShowColumn[]) => any) | undefined;
}>, {
    showOperationColumn: boolean;
    flowKey: string;
    needDisplayFileds: boolean;
    clientType: "pc" | "mobile";
    searchQuerys: import("./type").SearchQuerys[] | [];
    sortQuerys: any[] | [];
    extraParams: Record<string, any>;
    permissionQuery: number[];
    apiUrl: string;
    reqMethod: string;
    columnSettingName: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
