import { ProviderId } from '../../providers'; import { IProvider, ProviderKind, Logger, DispatchRequest, DispatchOutcome, DispatchContext } from './contract'; export declare abstract class BaseProvider implements IProvider { abstract readonly id: ProviderId; abstract readonly label: string; abstract readonly kind: ProviderKind; /** Default: no session to resume. CLI providers that probe override this. */ resolveSession(_root: string, _log: Logger): Promise; abstract dispatch(req: DispatchRequest, ctx: DispatchContext): Promise; /** Default: stateless, never "busy" between dispatches. */ isBusy(_root: string): boolean; /** Default: nothing persistent to tear down. */ close(_root: string, _log: Logger): void; }