import { ProviderId } from '../../providers'; import { BaseProvider } from './BaseProvider'; import { ProviderKind, Logger, DispatchRequest, DispatchOutcome, DispatchContext } from './contract'; import { ProviderEvents } from './ProviderEvents'; import { ProviderModels } from './ProviderModels'; import { ProviderSessions } from './ProviderSessions'; import { ProviderState } from './ProviderState'; import { ProviderNormalizer } from './ProviderNormalizer'; import { ProviderUsage } from './ProviderUsage'; export declare abstract class ProviderManager extends BaseProvider { abstract readonly id: ProviderId; abstract readonly label: string; abstract readonly kind: ProviderKind; abstract readonly family: string; abstract readonly events: ProviderEvents; abstract readonly models: ProviderModels; abstract readonly sessions: ProviderSessions; abstract readonly state: ProviderState; abstract readonly normalizer: ProviderNormalizer; abstract readonly usage: ProviderUsage; isBusy(root: string): boolean; close(root: string, log: Logger): void; resolveSession(root: string, log: Logger): Promise; abstract dispatch(req: DispatchRequest, ctx: DispatchContext): Promise; }