import { ExtractPropTypes, PropType, Ref, ComputedRef, DefineComponent, VNode, RendererNode, RendererElement, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { DirectionType, SizeType } from '../config-provider';
import { VueTypeDef } from 'vue-types';
import { VueNode } from '../_util/type';
export declare const spaceCompactItemProps: () => {
    compactSize: PropType<SizeType>;
    compactDirection: VueTypeDef<string> & {
        default: string;
    };
    isFirstItem: {
        type: BooleanConstructor;
        default: boolean;
    };
    isLastItem: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export type SpaceCompactItemContextType = Partial<ExtractPropTypes<ReturnType<typeof spaceCompactItemProps>>>;
export declare const SpaceCompactItemContext: {
    useProvide: (props: Partial<ExtractPropTypes<{
        compactSize: PropType<SizeType>;
        compactDirection: VueTypeDef<string> & {
            default: string;
        };
        isFirstItem: {
            type: BooleanConstructor;
            default: boolean;
        };
        isLastItem: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> | null, newProps?: Partial<ExtractPropTypes<{
        compactSize: PropType<SizeType>;
        compactDirection: VueTypeDef<string> & {
            default: string;
        };
        isFirstItem: {
            type: BooleanConstructor;
            default: boolean;
        };
        isLastItem: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> | null | undefined) => {
        compactDirection?: string | undefined;
        isFirstItem?: boolean | undefined;
        isLastItem?: boolean | undefined;
        compactSize?: SizeType;
    };
    useInject: () => Partial<ExtractPropTypes<{
        compactSize: PropType<SizeType>;
        compactDirection: VueTypeDef<string> & {
            default: string;
        };
        isFirstItem: {
            type: BooleanConstructor;
            default: boolean;
        };
        isLastItem: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> | null;
};
export declare const useCompactItemContext: (prefixCls: Ref<string>, direction: Ref<DirectionType>) => {
    compactSize: ComputedRef<SizeType>;
    compactDirection: ComputedRef<string | undefined>;
    compactItemClassnames: ComputedRef<any>;
};
export declare const NoCompactStyle: DefineComponent<{}, () => VNode<RendererNode, RendererElement, {
    [key: string]: any;
}>[] | undefined, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export declare const spaceCompactProps: () => {
    prefixCls: StringConstructor;
    size: {
        type: PropType<SizeType>;
    };
    direction: VueTypeDef<string> & {
        default: string;
    };
    align: VueTypeDef<string>;
    block: {
        type: BooleanConstructor;
        default: undefined;
    };
};
export type SpaceCompactProps = Partial<ExtractPropTypes<ReturnType<typeof spaceCompactProps>>>;
declare const Compact: DefineComponent<ExtractPropTypes<{
    prefixCls: StringConstructor;
    size: {
        type: PropType<SizeType>;
    };
    direction: VueTypeDef<string> & {
        default: string;
    };
    align: VueTypeDef<string>;
    block: {
        type: BooleanConstructor;
        default: undefined;
    };
}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    prefixCls: StringConstructor;
    size: {
        type: PropType<SizeType>;
    };
    direction: VueTypeDef<string> & {
        default: string;
    };
    align: VueTypeDef<string>;
    block: {
        type: BooleanConstructor;
        default: undefined;
    };
}>> & Readonly<{}>, {
    direction: string;
    block: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default Compact;
