import type { InjectionKey, PropType, Ref } from 'vue';
import type { Language } from 'vue-cesium/es/locale';
export declare const useLocaleProps: {
    locale: {
        type: PropType<Language>;
    };
};
declare type Translator = (...args: any[]) => string;
export declare type LocaleContext = {
    locale: Ref<Language>;
    lang: Ref<string>;
    t: Translator;
};
export declare const LocaleInjectionKey: InjectionKey<LocaleContext>;
export declare const useLocale: () => void;
export declare const localeProviderMaker: (locale?: {
    name: string;
    nativeName: string;
    vc: {
        loadError: string;
        navigation: {
            compass: {
                outerTip: string;
                innerTip: string;
                title: string;
            };
            zoomCotrol: {
                zoomInTip: string;
                zoomResetTip: string;
                zoomOutTip: string;
            };
            print: {
                printTip: string;
                printViewTitle: string;
                credit: string;
                screenshot: string;
            };
            myLocation: {
                myLocationTip: string;
                positioning: string;
                fail: string;
                centreMap: string;
                lat: string;
                lng: string;
                address: string;
            };
            statusBar: {
                lat: string;
                lng: string;
                zone: string;
                e: string;
                n: string;
                elev: string;
                level: string;
                heading: string;
                pitch: string;
                roll: string;
                cameraHeight: string;
                tip: string;
            };
        };
        measurement: {
            expand: string;
            collapse: string;
            editor: {
                move: string;
                insert: string;
                remove: string;
                removeAll: string;
            };
            distance: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            'component-distance': {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            polyline: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            horizontal: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            vertical: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            height: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            area: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            point: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
                lng: string;
                lat: string;
                height: string;
                slope: string;
            };
            rectangle: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            regular: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            circle: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            clear: {
                tip: string;
            };
        };
        drawing: {
            expand: string;
            collapse: string;
            editor: {
                move: string;
                insert: string;
                remove: string;
                removeAll: string;
            };
            pin: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            point: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            polyline: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            polygon: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            rectangle: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            circle: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            regular: {
                tip: string;
                drawingTipStart: string;
                drawingTipEnd: string;
                drawingTipEditing: string;
            };
            clear: {
                tip: string;
            };
        };
        overview: {
            show: string;
            hidden: string;
        };
    };
}) => {
    lang: Ref<string>;
    locale: Ref<{
        name: string;
        nativeName: string;
        vc: {
            loadError: string;
            navigation: {
                compass: {
                    outerTip: string;
                    innerTip: string;
                    title: string;
                };
                zoomCotrol: {
                    zoomInTip: string;
                    zoomResetTip: string;
                    zoomOutTip: string;
                };
                print: {
                    printTip: string;
                    printViewTitle: string;
                    credit: string;
                    screenshot: string;
                };
                myLocation: {
                    myLocationTip: string;
                    positioning: string;
                    fail: string;
                    centreMap: string;
                    lat: string;
                    lng: string;
                    address: string;
                };
                statusBar: {
                    lat: string;
                    lng: string;
                    zone: string;
                    e: string;
                    n: string;
                    elev: string;
                    level: string;
                    heading: string;
                    pitch: string;
                    roll: string;
                    cameraHeight: string;
                    tip: string;
                };
            };
            measurement: {
                expand: string;
                collapse: string;
                editor: {
                    move: string;
                    insert: string;
                    remove: string;
                    removeAll: string;
                };
                distance: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                'component-distance': {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                polyline: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                horizontal: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                vertical: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                height: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                area: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                point: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                    lng: string;
                    lat: string;
                    height: string;
                    slope: string;
                };
                rectangle: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                regular: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                circle: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                clear: {
                    tip: string;
                };
            };
            drawing: {
                expand: string;
                collapse: string;
                editor: {
                    move: string;
                    insert: string;
                    remove: string;
                    removeAll: string;
                };
                pin: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                point: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                polyline: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                polygon: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                rectangle: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                circle: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                regular: {
                    tip: string;
                    drawingTipStart: string;
                    drawingTipEnd: string;
                    drawingTipEditing: string;
                };
                clear: {
                    tip: string;
                };
            };
            overview: {
                show: string;
                hidden: string;
            };
        };
    }>;
    t: (...args: any[]) => string;
};
export declare const useLocaleInject: () => LocaleContext;
export declare const t: (...args: any[]) => string;
export {};
