export interface ActiveProjectScope {
    api_base?: string;
    principal?: string | null;
    profile?: string;
}
export interface ActiveProjectState {
    project_id: string;
    previous_project_id?: string;
    api_base: string;
    principal?: string | null;
    profile: string;
    updated_at: string;
}
export interface ActiveOrgState {
    org_id: string;
    api_base: string;
    principal?: string | null;
    profile: string;
    updated_at: string;
}
export interface ProfileState {
    version?: 1;
    active_project_id?: string;
    previous_active_project_id?: string;
    active_projects?: Record<string, ActiveProjectState>;
    active_orgs?: Record<string, ActiveOrgState>;
    migrations?: Record<string, unknown>;
}
export declare function loadProfileState(path?: string): ProfileState;
export declare function saveProfileState(state: ProfileState, path?: string): void;
export declare function defaultActiveProjectScope(scope?: ActiveProjectScope): Required<Pick<ActiveProjectScope, "api_base" | "profile">> & Pick<ActiveProjectScope, "principal">;
export declare function activeProjectScopeKey(scope?: ActiveProjectScope): string;
export declare function getActiveProjectId(path?: string, scope?: ActiveProjectScope): string | undefined;
export declare function setActiveProjectId(projectId: string, path?: string, scope?: ActiveProjectScope): void;
export declare function clearActiveProjectId(projectId: string, path?: string, scope?: ActiveProjectScope): void;
export declare function getActiveOrgId(path?: string, scope?: ActiveProjectScope): string | undefined;
export declare function setActiveOrgId(orgId: string, path?: string, scope?: ActiveProjectScope): void;
export declare function clearActiveOrgId(path?: string, scope?: ActiveProjectScope): void;
export declare function recordMigration(marker: string, value: unknown, path?: string): void;
//# sourceMappingURL=profile-state.d.ts.map