import type { TabsPaneContext } from 'element-plus';
import type { VNode, Ref, ComputedRef, ExtractPropTypes } from 'vue';
import type { WetProCardTabItem } from '../../index';
export type WetProPageContainerRq<T = any> = (...p: any) => Promise<T>;
export type WetProPageContainerProvide<D = any> = {
    pageInfo: Ref<D>;
    pageStatus: ComputedRef<Record<string, any>>;
    refresh: () => Promise<void>;
    setPageStatus: (v: Record<string, any>) => void;
};
export declare const wetProPageContainerProps: {
    title: StringConstructor;
    fixedHeader: BooleanConstructor;
    breadcrumb: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => false | {
        path: string;
        name: string;
    }[]) | (() => false | {
        path: string;
        name: string;
    }[]) | ((new (...args: any[]) => false | {
        path: string;
        name: string;
    }[]) | (() => false | {
        path: string;
        name: string;
    }[]))[], unknown, unknown, () => never[], boolean>;
    extra: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[]) | (() => VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[]) | ((new (...args: any[]) => VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[]) | (() => VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[]))[], unknown, unknown, () => never[], boolean>;
    loading: BooleanConstructor;
    request: {
        readonly type: import("vue").PropType<WetProPageContainerRq<any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    status: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => Record<string, any>) | (() => Record<string, any>) | ((new (...args: any[]) => Record<string, any>) | (() => Record<string, any>))[], unknown, unknown, () => {}, boolean>;
    pageKey: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    tabList: {
        readonly type: import("vue").PropType<WetProCardTabItem[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    tabProps: {
        readonly type: import("vue").PropType<Partial<{
            readonly type: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "" | "card" | "border-card", unknown>;
            readonly beforeLeave: (newName: import("element-plus").TabPaneName, oldName: import("element-plus").TabPaneName) => import("element-plus/es/utils").Awaitable<boolean | void>;
            readonly editable: boolean;
            readonly closable: boolean;
            readonly addable: boolean;
            readonly tabPosition: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "top" | "bottom" | "right" | "left", unknown>;
            readonly stretch: boolean;
        } & {
            readonly modelValue?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
            readonly activeName?: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
        } & {
            onTabRemove: (n: string) => void;
            onTabChange: (n: string) => void;
            onTabAdd: () => void;
            onEdit: (n: string, action: 'remove' | 'add') => void;
            onTabClick: (pane: TabsPaneContext, ev: Event) => void;
        }>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    tabKey: {
        readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
};
export type WetProPageContainerProps = ExtractPropTypes<typeof wetProPageContainerProps>;
