import { SetupContext } from 'vue';
import { FeatureQueryProps, FeatureQueryEmits, QueryLayerParams, QueryOtherOptions } from './types';
export declare const useFeatureQuery: (props: FeatureQueryProps, emit: SetupContext<FeatureQueryEmits>['emit'], layerSelectRef: any) => {
    queryResult: import('@vue/reactivity').Ref<any, any>;
    attributeTableContainerElement: import('@vue/reactivity').ComputedRef<any>;
    unitArrayOptions: {
        label: string;
        value: string;
    }[];
    showBufferConfig: import('@vue/reactivity').ComputedRef<boolean>;
    getAttributeTableMaxHeight: (tableElement: any) => any;
    destroyAttributeTable: () => any;
    updateActiveQueryItem: (itemId: any) => void;
    updateGeometry: (geometry: any) => void;
    query: () => void;
    clearState: () => void;
    handleQueryClick: (queryItem: any) => Promise<void>;
    handleBufferUnitChange: () => void;
    queryLayers: import('@vue/reactivity').Ref<any[], any[]>;
    geometry: import('@vue/reactivity').Ref<any, any>;
    layersParams: import('@vue/reactivity').Ref<QueryLayerParams[], QueryLayerParams[]>;
    queryOtherOptions: import('@vue/reactivity').Ref<QueryOtherOptions, QueryOtherOptions>;
    queryItems: import('@vue/reactivity').Ref<{
        id: string;
        label?: string;
        icon?: string;
        action?: Function;
    }[], {
        id: string;
        label?: string;
        icon?: string;
        action?: Function;
    }[]>;
    selectedQueryLayerIds: import('@vue/reactivity').Ref<any[], any[]>;
    queryLayerSelectMode: import('@vue/reactivity').Ref<string, string>;
    continueDrawing: import('@vue/reactivity').Ref<boolean, boolean>;
    geometryVisible: import('@vue/reactivity').Ref<boolean, boolean>;
    queryDrawStyle: import('@vue/reactivity').Ref<Record<string, any>, Record<string, any>>;
    bufferDistance: import('@vue/reactivity').Ref<number, number>;
    bufferUnit: import('@vue/reactivity').Ref<string, string>;
    activeId: import('@vue/reactivity').Ref<string, string>;
    layerTypes: import('@vue/reactivity').Ref<any[], any[]>;
    sublayerTypes: import('@vue/reactivity').Ref<any[], any[]>;
    attributeTableCollapsed: import('@vue/reactivity').Ref<boolean, boolean>;
};
