import Vue from 'vue';
import { GlobalIconConfig } from 'tdesign-icons-vue';
import { GlobalConfigProvider, AttachNodeComponent } from './type';
import type { AttachNode } from '../common';
export declare type ValueOf<T> = T[keyof T];
export declare type ComponentConfigType = ValueOf<GlobalConfigProvider>;
export * from './type';
export declare type ConfigRule<T = any> = string | ((args: T) => string);
export interface Placement {
    [propName: string]: string | number;
}
export interface ConfigComponent extends Vue {
    globalConfig: GlobalConfigProvider;
}
export default function getConfigReceiverMixins<BasicComponent extends Vue, C extends ComponentConfigType = null>(componentName: string): import("vue/types/vue").ExtendedVue<ConfigComponent & BasicComponent, unknown, {
    t<T>(pattern: T, placement?: Placement): string;
}, {
    global: C;
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
}, Record<never, any>>;
export declare function getGlobalIconMixins<BasicComponent extends Vue>(): import("vue/types/vue").ExtendedVue<ConfigComponent & BasicComponent, unknown, {
    useGlobalIcon(tdIcon: Record<string, any>): GlobalIconConfig;
}, unknown, Record<never, any>>;
export declare function getKeepAnimationMixins<BasicComponent extends Vue>(): import("vue/types/vue").ExtendedVue<ConfigComponent & BasicComponent, unknown, unknown, {
    keepAnimation: {
        ripple: boolean;
        expand: boolean;
        fade: boolean;
    };
}, Record<never, any>>;
export declare function getClassPrefixMixins(componentName: string): import("vue/types/vue").ExtendedVue<ConfigComponent, unknown, unknown, {
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
}, Record<never, any>>;
export declare function getAttachConfigMixins(componentName: AttachNodeComponent): import("vue/types/vue").ExtendedVue<ConfigComponent, unknown, {
    globalAttach(): AttachNode;
}, unknown, Record<never, any>>;
