import { NamespaceAdapter } from '../index.mjs'; type KyselyQueryBuilder = { select: (columns: string[]) => KyselyQueryBuilder; where: (column: string, operator: string, value: unknown) => KyselyQueryBuilder; limit: (limit: number) => KyselyQueryBuilder; executeTakeFirst: () => Promise | undefined>; }; type KyselyDb = { selectFrom: (table: string) => KyselyQueryBuilder; }; /** * Create a namespace adapter for Kysely * * @example * ```ts * import { Kysely, PostgresDialect } from "kysely"; * import { createNamespaceGuard } from "namespace-guard"; * import { createKyselyAdapter } from "namespace-guard/adapters/kysely"; * * const db = new Kysely({ dialect: new PostgresDialect({ pool }) }); * * const guard = createNamespaceGuard( * { * reserved: ["admin", "api", "settings"], * sources: [ * { name: "users", column: "handle", scopeKey: "id" }, * { name: "organizations", column: "slug", scopeKey: "id" }, * ], * }, * createKyselyAdapter(db) * ); * ``` */ declare function createKyselyAdapter(db: KyselyDb): NamespaceAdapter; export { createKyselyAdapter };