import type { ResolvedSkillProfile, StationSkillState, StationSkillStateInput } from "../types/skill-selection.js"; export interface ProfileClient { readonly authority: string; /** Stable whoami subject; raw credential/key identities are intentionally excluded. */ resolvePrincipal?(): Promise; resolveProfile(id: string): Promise; /** Optional on older authorities/embedders; absence never authorizes old versions. */ supportsPinRenewal?(): Promise; recordStation(id: string, state: StationSkillStateInput): Promise; getBundle(slug: string, version: string): Promise; } export type AuthenticatedProfileRole = "owner" | "admin" | "member" | "viewer"; export interface AuthenticatedProfilePrincipal { userId: string; accountId: string; role: AuthenticatedProfileRole; } export declare class HttpProfileClient implements ProfileClient { private key; private signal?; readonly authority: string; private origin; private responseSignals; constructor(key: string, origin: string, signal?: AbortSignal | undefined); private requestRoute; private request; private read; supportsPinRenewal(): Promise; resolveProfile(id: string): Promise; resolvePrincipal(): Promise; recordStation(id: string, input: StationSkillStateInput): Promise; getBundle(slug: string, version: string): Promise; } export declare function createProfileClient(signal?: AbortSignal): Promise;