import type { ExtractPropTypes, PropType } from 'vue';
import type { Indexable } from 'hongluan-business-ui/es/utils/types';
export declare type DockContainerPlacement = 'top' | 'bottom' | 'left' | 'right';
export declare type DockItem = {
    id: string;
    title: string;
    snapshot: boolean | string | Indexable<any>;
};
export declare const dockContainerProps: {
    beforeClose: {
        type: PropType<(...args: any[]) => unknown>;
    };
    customClass: {
        type: StringConstructor;
        default: string;
    };
    animationName: {
        type: StringConstructor;
        default: string;
    };
    openDelay: {
        type: NumberConstructor;
        default: number;
    };
    closeDelay: {
        type: NumberConstructor;
        default: number;
    };
    modelValue: {
        type: BooleanConstructor;
        required: boolean;
    };
    placement: {
        type: PropType<DockContainerPlacement>;
        default: string;
    };
    height: {
        type: StringConstructor;
    };
    width: {
        type: StringConstructor;
    };
    itemHeight: {
        type: StringConstructor;
    };
    itemWidth: {
        type: StringConstructor;
    };
    zIndex: {
        type: NumberConstructor;
    };
};
export declare type DockContainerProps = ExtractPropTypes<typeof dockContainerProps>;
export declare const dockContainerEmits: {
    open: () => boolean;
    opened: () => boolean;
    close: () => boolean;
    closed: () => boolean;
    'item-added': (dockItem: DockItem, dockItems: DockItem[]) => boolean;
    'item-closed': (dockItem: DockItem, dockItems: DockItem[]) => boolean;
    'item-restored': (dockItem: DockItem, dockItems: DockItem[]) => boolean;
    'update:modelValue': (value: boolean) => boolean;
};
export declare type DockContainerEmits = typeof dockContainerEmits;
