import { PropType, ExtractPropTypes } from 'vue';
export interface ServiceTypeItem {
    type: string;
    label: string;
    template: string;
    protocol?: string;
    originalServiceType?: string;
    '2D': boolean;
    '3D': boolean;
}
export declare const SupportedServiceProtocolTypes: ServiceTypeItem[];
export declare const ThirdPartyServiceTypes: ServiceTypeItem[];
export declare const serviceSelectProps: {
    /**
     * @description 默认的支持协议的服务类型列表
     */
    defaultSupportedServiceProtocolTypes: {
        type: PropType<ServiceTypeItem[]>;
        default: () => ServiceTypeItem[];
    };
    /**
     * @description 默认的三方服务类型列表
     */
    defaultThirdPartyServiceTypes: {
        type: PropType<ServiceTypeItem[]>;
        default: () => ServiceTypeItem[];
    };
    /**
     * @description 服务根地址，形如：http(s)://<server>:<port>/igs/rest/services
     */
    serviceRootUrl: {
        type: StringConstructor;
    };
    /**
     * @description 服务根令牌
     */
    serviceRootToken: {
        type: StringConstructor;
    };
    /**
     * @description 服务类型，来自于@mapgis/webclient-common中LayerType的常量值
     */
    serviceType: {
        type: StringConstructor;
    };
    /**
     * @description 服务地址
     */
    serviceUrl: {
        type: StringConstructor;
    };
    /**
     * @description 令牌字段名
     */
    tokenKey: {
        type: StringConstructor;
    };
    /**
     * @description 令牌值
     */
    tokenValue: {
        type: StringConstructor;
    };
    /**
     * @description 令牌位置，可取值url（查询参数）、header（请求头）
     */
    tokenAttachType: {
        type: StringConstructor;
        default: string;
    };
    /**
     * @description 服务类型显示模式，可取值2D、3D、all
     */
    showMode: {
        type: StringConstructor;
        default: string;
        validator: (v: any) => boolean;
    };
    /**
     * @description 是否支持第三方服务，第三方服务无法从服务器选择，只能输入
     */
    supportThirdPartyServices: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @description 服务选择下拉框宽度，单位像素
     */
    dropdownWidth: {
        type: NumberConstructor;
    };
};
export declare const serviceSelectEmits: {
    serviceChange: (serviceInfo: {
        serviceRootUrl;
        serviceRootToken;
        serviceType;
        serviceUrl;
        tokenKey;
        tokenValue;
        tokenAttachType;
        suggestServiceName;
        isServiceUrlValid;
    }) => boolean;
};
export type ServiceSelectProps = ExtractPropTypes<typeof serviceSelectProps>;
export type ServiceSelectEmits = typeof serviceSelectEmits;
