export type FederationTrustState = "pending" | "verified" | "revoked" | "blocked";
export type FederationHostedState = "disabled" | "pending" | "ready" | "missing";
export type PersistedFederationToken = {
    tokenId: string;
    nodeId: string;
    handle: string;
    issuedAt: string;
    expiresAt: string;
    scopes: string[];
    signature: string;
    trustState?: FederationTrustState;
    hostedState?: FederationHostedState;
    agentSlug?: string;
    publicUrl?: string;
    zrokToken?: string;
    zrokTokenPresent?: boolean;
    lastAttestOrRenewAt?: string;
    paidFlowEligible?: boolean;
    bondId?: string;
    bondWallet?: {
        chain: string;
        address: string;
    };
    bondStatus?: "missing" | "active" | "unlocking" | "unlocked";
    bondTier?: "none" | "basic-bond" | "operator-bond";
    bondAmountRaw?: string;
    bondUnlockAvailableAt?: string;
    bondQuotaBand?: "standard" | "boosted" | "operator";
    bondDerivedScopes?: string[];
};
export declare function resolveFederationTokenPath(env?: NodeJS.ProcessEnv): string;
export declare function loadPersistedFederationToken(env?: NodeJS.ProcessEnv): Promise<PersistedFederationToken | null>;
export declare function persistFederationAccessToken(token: PersistedFederationToken, env?: NodeJS.ProcessEnv): Promise<PersistedFederationToken>;
export declare function loadFederationBearerToken(env?: NodeJS.ProcessEnv): Promise<string>;
