export type RelaycastSetupErrorCode = 'api_error' | 'malformed_api_response' | 'workspace_not_found' | 'agent_not_registered' | 'missing_api_key';
interface RelaycastSetupErrorOptions {
    cause?: unknown;
}
export declare class RelaycastSetupError extends Error {
    readonly code: string;
    constructor(code: string, message: string, options?: RelaycastSetupErrorOptions);
}
/**
 * The API returned a non-2xx response.
 * HTTP 4xx and 5xx responses land here.
 */
export declare class RelaycastApiError extends RelaycastSetupError {
    readonly code = "api_error";
    readonly httpStatus: number;
    readonly httpBody: unknown;
    constructor(httpStatus: number, httpBody: unknown, message?: string);
}
/**
 * Workspace creation or join succeeded but the response was missing
 * a required field (workspaceId, apiKey, etc.).
 * Should not happen in production — indicates an API contract violation.
 */
export declare class MalformedApiResponseError extends RelaycastSetupError {
    readonly code = "malformed_api_response";
    readonly field: string;
    readonly response: unknown;
    constructor(field: string, response: unknown, message?: string);
}
/**
 * lookupWorkspace() found no workspace with the given name.
 */
export declare class WorkspaceNotFoundError extends RelaycastSetupError {
    readonly code = "workspace_not_found";
    readonly workspaceName: string;
    constructor(workspaceName: string, message?: string);
}
/**
 * relay() was called with an agent name that has not been registered
 * through this handle.
 */
export declare class AgentNotRegisteredError extends RelaycastSetupError {
    readonly code = "agent_not_registered";
    readonly agentName: string;
    constructor(agentName: string, message?: string);
}
/**
 * The API key is missing or invalid when required.
 */
export declare class MissingApiKeyError extends RelaycastSetupError {
    readonly code = "missing_api_key";
    constructor(message?: string);
}
export {};
//# sourceMappingURL=setup-errors.d.ts.map