import { PropType, DefineComponent, ExtractPropTypes, VNode, RendererNode, RendererElement, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { LoadingGlobalConfig, LoadingText } from './types.js';
export type LoadingIndicatorLayout = "stacked" | "inline";
export type LoadingIndicatorSize = "sm" | "md" | "lg";
export interface LoadingIndicatorProps {
    text?: LoadingText;
    spinner?: string;
    svg?: string;
    svgViewBox?: string;
    layout?: LoadingIndicatorLayout;
    size?: LoadingIndicatorSize;
    surface?: boolean;
}
export declare function resolveLoadingTextValue(localProvided: boolean, localText: string | undefined, globalText: string | undefined, fallbackText: string): string;
export declare function resolveLoadingVisualConfig(globalConfig: LoadingGlobalConfig | undefined, fallbackText: string, textProvided?: boolean, localText?: string): {
    text: string;
    background: string;
    spinner: string;
    svg: string;
    svgViewBox: string;
};
export declare const XyLoadingIndicator: DefineComponent<ExtractPropTypes<{
    text: {
        type: PropType<LoadingText>;
        default: string;
    };
    spinner: {
        type: StringConstructor;
        default: string;
    };
    svg: {
        type: StringConstructor;
        default: string;
    };
    svgViewBox: {
        type: StringConstructor;
        default: string;
    };
    layout: {
        type: PropType<LoadingIndicatorLayout>;
        default: string;
    };
    size: {
        type: PropType<LoadingIndicatorSize>;
        default: string;
    };
    surface: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => VNode<RendererNode, RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    text: {
        type: PropType<LoadingText>;
        default: string;
    };
    spinner: {
        type: StringConstructor;
        default: string;
    };
    svg: {
        type: StringConstructor;
        default: string;
    };
    svgViewBox: {
        type: StringConstructor;
        default: string;
    };
    layout: {
        type: PropType<LoadingIndicatorLayout>;
        default: string;
    };
    size: {
        type: PropType<LoadingIndicatorSize>;
        default: string;
    };
    surface: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{}>, {
    size: LoadingIndicatorSize;
    svg: string;
    text: LoadingText;
    layout: LoadingIndicatorLayout;
    spinner: string;
    svgViewBox: string;
    surface: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
