import type { BaseConnector } from '../../connector/BaseConnector.js';
import type { ConnectorRegistry } from '../../registry/connector/definitions.js';
import type { ConnectorConfig, ConnectorEventListener, ConnectorExecuteParams, ConnectorExecuteResult, ConnectorInstance } from '../../types/connector/index.js';
import type { ConnectorId, ConnectorInstanceId } from '../../types/ids/index.js';
export interface ConnectorManagerConfig {
    registry: ConnectorRegistry;
}
export declare class ConnectorManager {
    private registry;
    private instances;
    private liveConnectors;
    private listeners;
    private log;
    constructor(config: ConnectorManagerConfig);
    on(listener: ConnectorEventListener): void;
    off(listener: ConnectorEventListener): void;
    createInstance(config: ConnectorConfig, connector: BaseConnector<unknown>): Promise<ConnectorInstance>;
    connect(instanceId: ConnectorInstanceId): Promise<void>;
    disconnect(instanceId: ConnectorInstanceId): Promise<void>;
    healthCheck(instanceId: ConnectorInstanceId): Promise<boolean>;
    execute(params: ConnectorExecuteParams): Promise<ConnectorExecuteResult>;
    removeInstance(instanceId: ConnectorInstanceId): Promise<void>;
    getRegistry(): ConnectorRegistry;
    getInstance(instanceId: ConnectorInstanceId): ConnectorInstance | undefined;
    getConnector(instanceId: ConnectorInstanceId): BaseConnector<unknown> | undefined;
    listInstances(): ConnectorInstance[];
    listInstancesByConnector(connectorId: ConnectorId): ConnectorInstance[];
    listConnectedInstances(): ConnectorInstance[];
    disconnectAll(): Promise<void>;
    private getInstanceOrThrow;
    private getConnectorOrThrow;
    private updateStatus;
    private emit;
}
//# sourceMappingURL=lifecycle.d.ts.map