/** * PostgreSQL Mock Module * * Mock implementations for Postgres database operations * Supports transaction testing and query validation */ export interface QueryResult { rows: T[]; rowCount: number; command: string; fields: FieldInfo[]; } export interface FieldInfo { name: string; dataTypeID: number; } export interface PoolConfig { host: string; port: number; database: string; user: string; password: string; max?: number; idleTimeoutMillis?: number; } export interface PoolClient { query(text: string, values?: unknown[]): Promise>; release(): void; } interface MockDataStore { agents: Map; sessions: Map; memories: Map; skills: Map; tenants: Map; tasks: Map; } /** * Mock PostgreSQL Pool */ export declare class MockPool { private config; private connected; private dataStore; private queryLog; private transactionActive; constructor(config: PoolConfig); connect(): Promise; query(text: string, values?: unknown[]): Promise>; end(): Promise; isConnected(): boolean; getQueryLog(): Array<{ text: string; values?: unknown[]; timestamp: Date; }>; clearQueryLog(): void; seedData(table: keyof MockDataStore, data: Array<{ id: string; [key: string]: unknown; }>): void; getData(table: keyof MockDataStore): unknown[]; private createClient; private logQuery; private executeQuery; private handleSelect; private handleInsert; private handleUpdate; private handleDelete; private extractTableName; private createResult; } /** * Create a mock pool instance */ export declare function createMockPool(config?: Partial): MockPool; /** * Mock Pool factory for dependency injection */ export declare const mockPoolFactory: { create: import("vitest").Mock<[config: PoolConfig], MockPool>; createClient: import("vitest").Mock<[config: PoolConfig], Promise>; }; /** * Postgres query builder mock helpers */ export declare const queryBuilderHelpers: { expectQuery: (pool: MockPool, pattern: RegExp) => boolean; expectQueryCount: (pool: MockPool, pattern: RegExp) => number; expectTransaction: (pool: MockPool) => boolean; }; declare const _default: { MockPool: typeof MockPool; createMockPool: typeof createMockPool; mockPoolFactory: { create: import("vitest").Mock<[config: PoolConfig], MockPool>; createClient: import("vitest").Mock<[config: PoolConfig], Promise>; }; queryBuilderHelpers: { expectQuery: (pool: MockPool, pattern: RegExp) => boolean; expectQueryCount: (pool: MockPool, pattern: RegExp) => number; expectTransaction: (pool: MockPool) => boolean; }; }; export default _default; //# sourceMappingURL=postgres.mock.d.ts.map