import { SpinEmits, SpinProps } from './spin';
import { ComponentPublicInstance, SetupContext, VNodeProps } from 'vue';
export declare function useSpin(props: SpinProps, emit: SetupContext<SpinEmits>['emit']): readonly [{
    readonly _ref: import('vue').Ref<ComponentPublicInstance, ComponentPublicInstance>;
    readonly Indicator: (_props?: VNodeProps) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
        [key: string]: any;
    }> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
        [key: string]: any;
    }>[];
    readonly Tip: (_props?: VNodeProps) => any;
    readonly exposeCtx: {
        refresh: ({ name }?: {
            name?: import('@yanzhen-libs/utils-vue/src/vue/hooks/use-loading/constants').LoadingId;
        }) => Promise<void>;
    };
}, (props?: VNodeProps & Partial<SpinProps>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> | (import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}>[] | ((props?: VNodeProps) => import('vue').VNode | import('vue').VNode[]))[]];
