import { AuthTokenPayload } from "@vertesia/common";
export interface EnvProps {
    name: string;
    version: string;
    isLocalDev: boolean;
    isDocker: boolean;
    type: "production" | "staging" | "preview" | "development" | string;
    endpoints: {
        zeno: string;
        studio: string;
        sts: string;
    };
    firebase?: {
        apiKey: string;
        authDomain: string;
        projectId: string;
        appId?: string;
        providerType?: string;
    };
    datadog?: boolean;
    logger?: {
        info: (msg: string, ...args: any) => void;
        warn: (msg: string, ...args: any) => void;
        error: (msg: string, ...args: any) => void;
        debug: (msg: string, ...args: any) => void;
    };
    onLogin?: (token: AuthTokenPayload) => void;
    onLogout?: () => void;
}
export declare class VertesiaEnvironment implements Readonly<EnvProps> {
    private _props?;
    constructor(_props?: EnvProps | undefined);
    init(props?: EnvProps): this;
    private prop;
    get version(): string;
    get name(): string;
    get type(): string;
    get isProd(): boolean;
    get isStable(): boolean;
    get isDev(): boolean;
    get isPreview(): boolean;
    get isLocalDev(): boolean;
    get isDocker(): boolean;
    get endpoints(): {
        zeno: string;
        studio: string;
        sts: string;
    };
    get firebase(): {
        apiKey: string;
        authDomain: string;
        projectId: string;
        appId?: string;
        providerType?: string;
    } | undefined;
    get datadog(): boolean;
    get logger(): {
        info: (msg: string, ...args: any) => void;
        warn: (msg: string, ...args: any) => void;
        error: (msg: string, ...args: any) => void;
        debug: (msg: string, ...args: any) => void;
    };
    /**
     * Callback to notify the host app when the user logs in.
     */
    onLogin(token: AuthTokenPayload): void;
    /**
     * Callback to notify the host app when the user logs out
     */
    onLogout(): void;
}
declare const Env: VertesiaEnvironment;
export { Env };
//# sourceMappingURL=index.d.ts.map