import { SetupContext } from 'vue';
import { LayerStyleProps, LayerStyleEmits } from './types';
import { SymbolRenderModeEnum } from '@mapgis/webclient-vue3-common-utils';
export declare const useLayerStyle: (props: LayerStyleProps, emit: SetupContext<LayerStyleEmits>['emit'], layerSelectRef: any) => {
    styleLayer: import('@vue/reactivity').ShallowRef<Record<string, any>, Record<string, any>>;
    fields: import('@vue/reactivity').Ref<any, any>;
    isSimpleTheme: import('@vue/reactivity').ComputedRef<(themeType: any) => boolean>;
    isUniqueTheme: import('@vue/reactivity').ComputedRef<(themeType: any) => boolean>;
    isRangeTheme: import('@vue/reactivity').ComputedRef<(themeType: any) => boolean>;
    isGraduatedSymbolTheme: import('@vue/reactivity').ComputedRef<(themeType: any) => boolean>;
    showLayerSelect: import('@vue/reactivity').ComputedRef<boolean>;
    validThemeTypes: import('@vue/reactivity').ComputedRef<{
        type: any;
        name: string;
        img: string;
        desc: string;
    }[]>;
    symbolRenderMode: import('@vue/reactivity').ComputedRef<SymbolRenderModeEnum>;
    handleLayerSelectChange: () => void;
    handleThemeClick: (themeType: any, _event: any) => void;
    handleDeleteTheme: () => void;
    selectedLayerId: import('@vue/reactivity').Ref<string, string>;
    layerTypes: import('@vue/reactivity').Ref<any[], any[]>;
    sublayerTypes: import('@vue/reactivity').Ref<any[], any[]>;
    styleLayerTitlePair: import('@vue/reactivity').Ref<{
        title: string;
        tip: string;
    }, {
        title: string;
        tip: string;
    }>;
    activeThemeType: import('@vue/reactivity').Ref<string, string>;
    themeTypes: import('@vue/reactivity').Ref<{
        point: {
            type: any;
            name: string;
            img: string;
            desc: string;
        }[];
        line: {
            type: any;
            name: string;
            img: string;
            desc: string;
        }[];
        polygon: {
            type: any;
            name: string;
            img: string;
            desc: string;
        }[];
    }, {
        point: {
            type: any;
            name: string;
            img: string;
            desc: string;
        }[];
        line: {
            type: any;
            name: string;
            img: string;
            desc: string;
        }[];
        polygon: {
            type: any;
            name: string;
            img: string;
            desc: string;
        }[];
    }>;
    isClientRendering: import('@vue/reactivity').Ref<boolean, boolean>;
};
