import type { APIClientOptions } from "./api.js"; import type { ClientProvider } from "./client.js"; import type { Event } from "./event.js"; import type { WorkerContext } from "./context.js"; import type { OAuth2Config } from "./oauth2.js"; export interface RemoteSCMClientProviderOptions { endpoint?: string; apiKey?: string; oauth2Config?: OAuth2Config; cacheSize?: number; cacheSkewMs?: number; } export declare class RemoteSCMClientProvider implements ClientProvider { private endpoint; private apiKey; private oauth2Config?; private cache; private cacheSkewMs; constructor(opts?: RemoteSCMClientProviderOptions); bindAPIClient(opts: APIClientOptions): void; BindAPIClient(opts: APIClientOptions): void; client(ctx: WorkerContext, evt: Event): Promise; Client(ctx: WorkerContext, evt: Event): Promise; } export declare function NewRemoteSCMClientProvider(opts?: RemoteSCMClientProviderOptions): RemoteSCMClientProvider; export declare function GitHubClient(evt: { client?: unknown; }): import("./scm_clients.js").GitHubClient | undefined; export declare function GitLabClient(evt: { client?: unknown; }): import("./scm_clients.js").GitLabClient | undefined; export declare function BitbucketClient(evt: { client?: unknown; }): import("./scm_clients.js").BitbucketClient | undefined; //# sourceMappingURL=scm_client_provider.d.ts.map