import { OrganizationResource } from './resources/organization';
import { ConversationResource } from './resources/conversation';
import { ServiceResource } from './resources/services';
import { UserResource } from './resources/user';
import { AgentResource } from './resources/agent';
import { ContextGraphResource } from './resources/context-graph';
import type { RetryOptions } from './core/retry';
import type { UserId, OrgId } from './core/branded-types';
export interface AmigoSdkConfig {
    /** API key from Amigo dashboard */
    apiKey: string;
    /** API-key ID from Amigo dashboard */
    apiKeyId: string;
    /** User ID on whose behalf the request is made */
    userId: UserId;
    /** The Organization ID */
    orgId: OrgId;
    /** Base URL of the Amigo API */
    baseUrl?: string;
    /** Retry configuration for HTTP requests */
    retry?: RetryOptions;
}
/**
 * Main client for the Amigo API.
 * Provides access to all API resources (organizations, conversations, services, users).
 */
export declare class AmigoClient {
    readonly organizations: OrganizationResource;
    readonly conversations: ConversationResource;
    readonly services: ServiceResource;
    readonly users: UserResource;
    readonly agents: AgentResource;
    readonly contextGraphs: ContextGraphResource;
    readonly config: AmigoSdkConfig;
    /** Create a new Amigo client with the given configuration. */
    constructor(config: AmigoSdkConfig);
}
export { AmigoError, BadRequestError, AuthenticationError, PermissionError, NotFoundError, ConflictError, RateLimitError, ServerError, ServiceUnavailableError, ConfigurationError, ValidationError, NetworkError, ParseError, isAmigoError, } from './core/errors';
export * as webhooks from './webhooks';
export type { RateLimitInfo, RateLimitCallback } from './core/rate-limit';
export { parseRateLimitHeaders } from './core/rate-limit';
export type { RetryOptions } from './core/retry';
export type { InteractionInput } from './resources/conversation';
export type { components, operations, paths } from './generated/api-types';
export type { ConversationId, MessageId, UserId, OrgId, InteractionId, ServiceId, AgentId, ToolId, DynamicBehaviorSetId, MetricId, SimulationPersonaId, SimulationScenarioId, SimulationUnitTestId, SimulationUnitTestSetId, WebhookDestinationId, RoleId, ApiKeyId, } from './core/branded-types';
export { conversationId, messageId, userId, orgId, interactionId, serviceId, agentId, toolId, dynamicBehaviorSetId, metricId, simulationPersonaId, simulationScenarioId, simulationUnitTestId, simulationUnitTestSetId, webhookDestinationId, roleId, apiKeyId, } from './core/branded-types';
