import type { z } from 'zod'; import type { AuthConfig, AuthType, ConnectionType, ConnectorDefinition, ConnectorExecuteResult, ConnectorLifecycle, ConnectorMethod, ConnectorOperationOptions } from '../types/connector/index.js'; import type { ConnectorId } from '../types/ids/index.js'; import { type Logger } from '../utils/logger.js'; export declare abstract class BaseConnector implements ConnectorLifecycle { abstract readonly id: ConnectorId; abstract readonly name: string; abstract readonly description: string; abstract readonly connectionType: ConnectionType; /** Omit only when the connector intentionally accepts every auth scheme. */ readonly supportedAuth?: readonly AuthType[]; abstract readonly configSchema: z.ZodType; abstract readonly methods: ConnectorMethod[]; protected log: Logger; protected config: TConfig | null; protected auth: AuthConfig | undefined; constructor(log?: Logger); abstract connect(config: TConfig, auth?: AuthConfig): Promise; abstract disconnect(): Promise; abstract healthCheck(options?: ConnectorOperationOptions): Promise; abstract execute(method: string, input: unknown, options?: ConnectorOperationOptions): Promise; toDefinition(): ConnectorDefinition; protected findMethod(methodName: string): ConnectorMethod | undefined; protected requireMethod(methodName: string): ConnectorMethod; protected validateInput(method: ConnectorMethod, input: unknown, options?: ConnectorOperationOptions): Promise; protected measureExecution(fn: () => Promise): Promise<{ result: TResult; durationMs: number; }>; } //# sourceMappingURL=BaseConnector.d.ts.map