export declare const DEFAULT_DEV_SIGNING_SECRET = "default-secret-change-in-production";
export declare const MIN_TOKEN_TTL_HOURS = 1;
export declare const MAX_TOKEN_TTL_HOURS = 168;
export interface AgentTokenData {
    agent_id: string;
    tools: string[];
    permissions: string[];
    expires_at: string;
}
export declare function looksInsecureSecret(value: string): boolean;
export declare function signingSecretProductionError(secret: string | undefined): string | null;
export declare function getSigningSecret(): {
    secret: string;
    error?: string;
};
export type MintRequestInput = {
    agent_id?: unknown;
    tools?: unknown;
    permissions?: unknown;
    expiresInHours?: unknown;
};
export declare function validateMintRequest(body: MintRequestInput): {
    ok: true;
    data: {
        agent_id: string;
        tools: string[];
        permissions: string[];
        expiresInHours: number;
    };
} | {
    ok: false;
    error: string;
    details?: Record<string, unknown>;
};
export declare function signAgentToken(payload: AgentTokenData, secretOverride?: string): {
    token: string;
} | {
    error: string;
};
export declare function verifyAgentToken(agentToken: string): {
    valid: boolean;
    data?: AgentTokenData;
    error?: string;
};
export declare function assertToolAllowed(tokenData: AgentTokenData, tool: string): {
    allowed: true;
} | {
    allowed: false;
    allowedTools: string[];
};
//# sourceMappingURL=agent-token.d.ts.map