export declare const DEFAULT_WORKFLOW_TOKEN_TTL_SECONDS: number;
export declare const DEFAULT_ADMIN_AGENT_NAME = "relay-admin";
export declare const DEFAULT_ADMIN_SCOPES: string[];
export interface TokenClaims {
    sub: string;
    org: string;
    wks: string;
    workspace_id: string;
    agent_name: string;
    scopes: string[];
    sponsorId: string;
    sponsorChain: string[];
    token_type: string;
    iss: string;
    aud: string[];
    iat: number;
    exp: number;
    jti: string;
}
export interface MintAgentTokenOptions {
    secret: string;
    agentName: string;
    workspace: string;
    scopes: string[];
    ttlSeconds?: number;
}
export declare function mintAgentToken(opts: MintAgentTokenOptions): string;
export declare class WorkflowTokenFactory {
    private readonly secret;
    private readonly workspace;
    private readonly tokens;
    private readonly ttlSeconds;
    constructor(secret: string, workspace: string, ttlSeconds?: number);
    mintForAgent(agentName: string, scopes: string[], ttlSeconds?: number): string;
    mintAdmin(ttlSeconds?: number): string;
    getToken(agentName: string): string | undefined;
}
//# sourceMappingURL=token.d.ts.map