import { AxiosInstance } from "axios";
export interface IQuery {
    href: string;
    origin: string;
    spaceKey: string;
    query: {
        [index: string]: string;
    };
}
export interface IPublicConfigData {
    cloudStudioUrl: string;
    helpDocUrl: string;
    gitDocUrl: string;
    gitSshDocUrl: string;
    agentSupportDocUrl: string;
    feedbackUrl: string;
    paymentEnabled: boolean;
    realNameEnabled: boolean;
    deployKitEnabled: boolean;
    codingAgentEnabled: boolean;
    sshKeyUrl: string;
    dashboardUrl: string;
    isTencentCloud: boolean;
    cloudStudioHomeUrl: string;
    cloudStudioDomain: string;
    enterpriseDomain: string;
    enterpriseName: string;
    templatesPrefix: string;
    isSaas: boolean;
    wsUpgradeEnable: boolean;
    balanceEnable: boolean;
    chargeEnable: boolean;
    previewDocUrl: string;
    sshEnabled: boolean;
    sshProxyDomain: string;
    privateCodingDeployHost: string;
    privateCodingDepotHost: string;
    hostEnabled: string;
    [key: string]: any;
}
export interface IParams {
    isCache: true;
}
export interface IAxiosParams {
    isCache: true;
    origin?: string;
    cookie?: string;
}
export interface UserInfo {
    id: number;
    authenticationUserInfo: AuthenticationUserInfo;
    avatar: any;
    features: any;
    previewStatus: number;
}
interface AuthenticationUserInfo {
    team: string;
    userName: string;
    nickName: string;
    admin: boolean;
    trial: boolean;
}
export interface ICommon extends IQuery {
    getQuery(): Promise<IQuery>;
    getAxiosInstance(params?: IAxiosParams): Promise<AxiosInstance>;
    getPublicConfig(params?: IParams): Promise<IPublicConfigData>;
    setGlobalState(key: string, value: any): Promise<void>;
    getGlobalState<T>(key: string): T | undefined;
    getGlobalState<T>(key: string, defaultValue: T): T;
    isBrowser: boolean;
    isCloudStudio: boolean;
    getUserInfo(): Promise<UserInfo>;
}
export {};
