export type ConnectorVerifyType = 'hmac-sha256' | 'token';
export type ConnectorTargetMode = 'dynamic' | 'fixed' | 'new-group';
export type ConnectorTargetKind = 'turn' | 'workflow';
export interface ConnectorDefinition {
    id: string;
    name: string;
    enabled: boolean;
    verify: {
        type: ConnectorVerifyType;
        secretRef: string;
        signatureHeader: string;
        timestampHeader: string;
        nonceHeader: string;
        toleranceSeconds: number;
    };
    target: {
        mode: ConnectorTargetMode;
        kind: ConnectorTargetKind;
        botId: string;
        botIds?: string[];
        chatId?: string;
        allowChats?: string[];
        workflowId?: string;
    };
    promptEnvelope: {
        sourceName: string;
        headerAllowlist: string[];
        includeRawText: boolean;
        maxBodyBytes: number;
        instruction?: string;
    };
    loggingPolicy: {
        storePayload: boolean;
        storeHeaders: boolean;
        retentionDays: number;
    };
    lifecycleExtractors: null | {
        dedupKey: string;
    };
    rateLimit?: {
        windowSeconds: number;
        maxRequests: number;
    };
    createdAt: string;
    updatedAt: string;
}
export interface ConnectorStoreFile {
    version: 1;
    connectors: ConnectorDefinition[];
}
export declare function readConnectorStore(dataDir?: string): ConnectorStoreFile;
export declare function listConnectors(dataDir?: string): ConnectorDefinition[];
export declare function getConnector(id: string, dataDir?: string): ConnectorDefinition | null;
export declare function upsertConnector(connector: ConnectorDefinition, dataDir?: string): ConnectorDefinition;
export declare function deleteConnector(id: string, dataDir?: string): boolean;
export declare function newConnectorId(): string;
//# sourceMappingURL=connector-store.d.ts.map