/**
 * AIB TypeScript SDK — Client.
 *
 * Usage:
 *   import { AIBClient } from 'agent-identity-bridge';
 *
 *   const client = new AIBClient({ gatewayUrl: 'http://localhost:8420' });
 *
 *   const { passport, token } = await client.createPassport({
 *     org_slug: 'mycompany',
 *     agent_slug: 'booking',
 *     display_name: 'Booking Agent',
 *     capabilities: ['booking'],
 *     bindings: { mcp: { auth_method: 'oauth2', server_card_url: '...' } },
 *   });
 *
 *   const result = await client.send('urn:aib:agent:mycompany:booking',
 *     'https://partner.com/a2a/send', { task: 'Book 3pm' });
 */
import type { CreatePassportRequest, PassportResponse, TranslationFormat, TranslateResponse, SendResult, HealthResponse, AuditQueryResponse, AgentPassport } from "./types";
export interface AIBClientOptions {
    gatewayUrl: string;
    apiKey?: string;
    timeout?: number;
}
export declare class AIBClient {
    private baseUrl;
    private apiKey;
    private timeout;
    constructor(options: AIBClientOptions);
    private request;
    health(): Promise<HealthResponse>;
    createPassport(req: CreatePassportRequest): Promise<PassportResponse>;
    listPassports(): Promise<AgentPassport[]>;
    getPassport(passportId: string): Promise<PassportResponse>;
    revokePassport(passportId: string): Promise<{
        status: string;
    }>;
    translate(source: Record<string, any>, fromFormat: TranslationFormat, toFormat: TranslationFormat, options?: {
        domain?: string;
        agent_slug?: string;
    }): Promise<TranslateResponse>;
    send(passportId: string, targetUrl: string, body?: Record<string, any>, options?: {
        method?: string;
        headers?: Record<string, string>;
    }): Promise<SendResult>;
    getAuditTrail(passportId: string, options?: {
        protocol?: string;
        action?: string;
        limit?: number;
    }): Promise<AuditQueryResponse>;
    getDiscovery(): Promise<Record<string, any>>;
    getJWKS(): Promise<Record<string, any>>;
}
export declare class AIBError extends Error {
    code: string;
    statusCode: number;
    constructor(code: string, message: string, statusCode: number);
}
