/** * In-memory sample rows for `conarium --demo`. * Not a database. Masking, row caps, and refusals run in the existing gate * after SQL has already passed governance — this connector only resolves * which sample table was asked for. */ import type { Connector, ConnectorCapabilities, ConnectorConfig, QueryResult, SchemaTable } from '../types.js'; export declare const DEMO_UNSUPPORTED_SQL = "demo connector answers SELECT on its sample tables only"; export declare const DEMO_SEARCH_UNAVAILABLE = "not available in demo mode"; /** Well-known test PAN. Content detectors and `*.card` both see this shape. */ export declare const DEMO_CARD = "4111 1111 1111 1111"; export declare const DEMO_CUSTOMERS: Record[]; export declare const DEMO_ORDERS: Record[]; /** Denied by policy before this connector is reached. No credential-shaped strings. */ export declare const DEMO_SECRETS: Record[]; /** * After the gate has rewritten the statement, recover the sample table * name. Joins, computed SELECT, and anything that is not one of the * three sample tables are refused here — not executed. */ export declare function resolveDemoTable(sql: string): string; /** * The one shape this connector answers: `SELECT FROM [LIMIT n]`. The column list is honoured, so a statement gets back * the columns it named and no others; a column the sample table does not * have is an error, as it would be on a database. WHERE, JOIN, expressions * and aliases are refused rather than ignored: ignoring them would return * rows the statement did not ask for. */ export declare function parseDemoSelect(sql: string): { table: string; columns: string[]; }; export declare class DemoConnector implements Connector { name: string; description: string; capabilities: ConnectorCapabilities; queryCalls: number; listCalls: number; describeCalls: number; searchCalls: number; constructor(config: ConnectorConfig); connect(): Promise; disconnect(): Promise; listTables(): Promise; describeTable(table: string): Promise; query(sql: string): Promise; search(): Promise; } //# sourceMappingURL=demo.d.ts.map