import type { Client } from "./generated/client/index.js"; export * from './generated/types.gen.js'; export * from './generated/sdk.gen.js'; export * from './generated/zod.gen.js'; export interface RateLimitConfig { enabled?: boolean; maxRetries?: number; baseDelayMs?: number; maxDelayMs?: number; onRateLimited?: (info: RateLimitInfo) => void; } export interface RateLimitInfo { status: number; attempt: number; delayMs: number; retryAfter?: number; rateLimitLimit?: number; rateLimitRemaining?: number; rateLimitReset?: number; request: Request; } export type SleepFunction = (ms: number) => Promise; export declare const defaultSleep: SleepFunction; export declare function createRateLimitFetch(originalFetch: typeof fetch, config: RateLimitConfig, sleepFn?: SleepFunction): typeof fetch; export declare function enableRateLimiting(config?: Partial): void; export declare function disableRateLimiting(): void; export declare function getRateLimitConfig(): Readonly | null; export declare function createRateLimitedClient(config?: Partial): Client; export declare const setApiKey: (apiKey: string) => void; import type { Options } from "./generated/sdk.gen.js"; import type { CreateLinkData } from "./generated/types.gen.js"; export declare function createEncryptedLink(options: Options & { body: { originalURL: string; }; }): Promise<({ data: undefined; error: { code?: string; message: string; success?: boolean; statusCode: number; } | { message: string; success?: boolean; statusCode: number; } | { message: string; success?: boolean; statusCode: number; } | { message: string; success?: boolean; statusCode: number; } | { message: string; success?: boolean; statusCode: number; } | { message: string; success?: boolean; statusCode: number; } | { message: string; success?: boolean; statusCode: number; }; } & { request: Request; response: Response; }) | { data: { encryptionKey: string; }; error: undefined; request: Request; response: Response; }>;