import type { GetHistoryInput, GetProblemInput, GetProgressInput, GetSolutionInput, GetSolutionSearchInput, GetSubmissionDetailInput, GetUserContestInput, GetUserProfileInput, GetUserSubmissionsInput, SearchProblemsInput } from "./client.js"; import type { CredentialBundle, DailyChallenge, ProblemDetail, ProblemProgressResult, Region, SearchProblemsResult, SolutionDetail, SolutionSearchResult, SubmissionDetail, SubmissionHistoryResult, UserContestResult, UserProfile, UserStatus, UserSubmissionsResult } from "../types.js"; import type { TransportPolicy } from "../runtime/transport-policy.js"; export type LeetCodeFetch = (input: RequestInfo | URL, init?: RequestInit) => Promise; export type CredentialLookup = (region: Region) => CredentialBundle | undefined | Promise; export interface LeetCodeReadAdapterOptions { fetch?: LeetCodeFetch; credentialLookup?: CredentialLookup; transportPolicy?: TransportPolicy; requestTimeoutMs?: number; maxResponseBytes?: number; now?: () => Date; } export interface LeetCodeReadAdapter { readonly region: Region; getDaily(signal?: AbortSignal): Promise; searchProblems(input: SearchProblemsInput, signal?: AbortSignal): Promise; getProblem(input: GetProblemInput, signal?: AbortSignal): Promise; searchSolutions(input: GetSolutionSearchInput, signal?: AbortSignal): Promise; getSolution(input: GetSolutionInput, signal?: AbortSignal): Promise; getUserProfile(input: GetUserProfileInput, signal?: AbortSignal): Promise; getUserContest(input: GetUserContestInput, signal?: AbortSignal): Promise; getProgress(input: GetProgressInput, signal?: AbortSignal): Promise; getHistory(input: GetHistoryInput, signal?: AbortSignal): Promise; getUserSubmissions(input: GetUserSubmissionsInput, signal?: AbortSignal): Promise; getSubmissionDetail(input: GetSubmissionDetailInput, signal?: AbortSignal): Promise; getUserStatus(signal?: AbortSignal): Promise; } export interface LeetCodeReadAdapters { readonly global: LeetCodeReadAdapter; readonly cn: LeetCodeReadAdapter; forRegion(region: Region): LeetCodeReadAdapter; } export declare const LEETCODE_READ_ENDPOINTS: Readonly>; export declare function createLeetCodeReadAdapter(region: Region, options?: LeetCodeReadAdapterOptions): LeetCodeReadAdapter; export declare function createLeetCodeReadAdapters(options?: LeetCodeReadAdapterOptions): LeetCodeReadAdapters; //# sourceMappingURL=read-adapter.d.ts.map