/** Base error for everything this client raises on a protocol-level failure. */
export declare class PoppyError extends Error {
    readonly code: string;
    readonly status?: number | undefined;
    readonly description?: string | undefined;
    readonly details?: Record<string, unknown> | undefined;
    constructor(code: string, message?: string | undefined, opts?: {
        status?: number | undefined;
        description?: string | undefined;
        details?: Record<string, unknown> | undefined;
    });
}
/** Discovery failed or a document didn't pass the checks of section 3. */
export declare class DiscoveryError extends PoppyError {
    constructor(code: string, message: string);
}
/** OAuth error response from the token, device, or revocation endpoint (4.2). */
export declare class OAuthError extends PoppyError {
    readonly retryAfter?: number | undefined;
    constructor(code: string, opts?: {
        status?: number | undefined;
        description?: string | undefined;
        retryAfter?: number | undefined;
        details?: Record<string, unknown> | undefined;
    });
}
/**
 * A resource (API, conversation, mediated sign-in) rejected the token, via `WWW-Authenticate`
 * (section 6): `invalid_token`, `sign_in_required`, `insufficient_scope`, DPoP errors.
 */
export declare class ResourceAuthError extends PoppyError {
    /** Scopes the Company says are needed, for `insufficient_scope`. */
    readonly scope?: string | undefined;
    constructor(code: string, opts?: {
        status?: number | undefined;
        description?: string | undefined;
        scope?: string | undefined;
    });
}
/** A conversation error with a JSON `error` body (7.13). */
export declare class ConversationError extends PoppyError {
    /** For `direct_conversation_open`: the open Direct Conversation. */
    readonly conversationId?: string | undefined;
    constructor(code: string, opts?: {
        status?: number | undefined;
        description?: string | undefined;
        conversationId?: string | undefined;
    });
}
//# sourceMappingURL=errors.d.ts.map