import { type FacebookMedia } from "../types/facebookmedia.js"; import type { FacebookErrorCategory, FacebookErrorContext, RateLimitUsage, RawFacebookError } from "../types/facebookerror.js"; export declare class FacebookUploadError extends Error { readonly status?: FacebookMedia["status"] | undefined; constructor(message: string, status?: FacebookMedia["status"] | undefined); } export declare abstract class FacebookErrorBase extends Error { abstract readonly category: FacebookErrorCategory; abstract readonly raw: unknown; readonly httpStatus: number; readonly isTransient: boolean; constructor(message: string, httpStatus: number, isTransient: boolean); } interface GraphErrorInit { message: string; type: string; code: number; subcode: number | undefined; traceId: string | undefined; userTitle: string | undefined; userMessage: string | undefined; isTransient: boolean; httpStatus: number; raw: RawFacebookError; } export declare abstract class FacebookGraphError extends FacebookErrorBase { readonly raw: RawFacebookError; readonly code: number; readonly type: string; readonly subcode?: number; readonly traceId?: string; readonly userTitle?: string; readonly userMessage?: string; constructor(init: GraphErrorInit); } export declare class FacebookAuthError extends FacebookGraphError { readonly category: "auth"; } export declare class FacebookPermissionError extends FacebookGraphError { readonly category: "permission"; } export declare class FacebookPolicyBlockError extends FacebookGraphError { readonly category: "policy_block"; } export declare class FacebookRateLimitError extends FacebookGraphError { readonly category: "rate_limit"; readonly usage?: RateLimitUsage; constructor(init: GraphErrorInit & { usage: RateLimitUsage | undefined; }); } export declare class FacebookInvalidParamError extends FacebookGraphError { readonly category: "invalid_param"; } export declare class FacebookTransientError extends FacebookGraphError { readonly category: "transient"; } export declare class FacebookUnknownError extends FacebookGraphError { readonly category: "unknown"; } export declare class FacebookNetworkError extends FacebookErrorBase { readonly category: "network"; readonly raw: unknown; constructor(cause: unknown, httpStatus?: number); } export type FacebookGraphErrorUnion = FacebookAuthError | FacebookPermissionError | FacebookPolicyBlockError | FacebookRateLimitError | FacebookInvalidParamError | FacebookTransientError | FacebookUnknownError; export type FacebookError = FacebookGraphErrorUnion | FacebookNetworkError; export type FacebookErrorHook = (error: FacebookError, context: FacebookErrorContext) => void; export declare const FacebookErrorCode: { readonly UNKNOWN: 1; readonly SERVICE: 2; readonly METHOD: 3; readonly TOO_MANY_CALLS: 4; readonly PERMISSION_DENIED: 10; readonly USER_TOO_MANY_CALLS: 17; readonly PAGE_RATE_LIMIT: 32; readonly INVALID_PARAM: 100; readonly SESSION: 102; readonly ACCESS_TOKEN: 190; readonly APP_ACTION_LIMIT: 341; readonly POLICY_BLOCK: 368; readonly DUPLICATE_POST: 506; readonly CUSTOM_RATE_LIMIT: 613; readonly LINK_SCRAPE: 1609005; }; export declare const FacebookAuthSubcode: { readonly APP_NOT_INSTALLED: 458; readonly USER_CHECKPOINTED: 459; readonly PASSWORD_CHANGED: 460; readonly EXPIRED: 463; readonly UNCONFIRMED_USER: 464; readonly INVALID_ACCESS_TOKEN: 467; readonly INVALID_PAGE_ROLE: 492; }; export declare function toFacebookError(payload: unknown, httpStatus: number, headers?: unknown): FacebookGraphErrorUnion | null; export declare function toNetworkError(cause: unknown, httpStatus?: number): FacebookNetworkError; export declare function invokeErrorHook(hook: FacebookErrorHook, error: FacebookError, context: FacebookErrorContext): void; export {}; //# sourceMappingURL=error.d.ts.map