/**
 * API route specs for database administration.
 *
 * Generic PostgreSQL table browser using `information_schema`.
 * Provides: list tables, view columns/rows (paginated), delete rows by PK, health check.
 *
 * @module
 */
import type { Logger } from '@fuzdev/fuz_util/log.js';
import type { Db, DbType } from '../db/db.js';
import { type RouteSpec } from './route_spec.js';
/**
 * Table metadata from `information_schema`.
 */
export interface TableInfo {
    table_name: string;
}
/**
 * Table info with row count.
 */
export interface TableWithCount {
    name: string;
    row_count: number;
}
/**
 * Primary key constraint info.
 */
export interface PrimaryKeyInfo {
    column_name: string;
}
/**
 * Column metadata from `information_schema`.
 */
export interface ColumnInfo {
    column_name: string;
    data_type: string;
    is_nullable: string;
}
/** Default page size for `GET /tables/:name` rows. */
export declare const DB_TABLE_ROWS_DEFAULT_LIMIT = 100;
/** Maximum page size for `GET /tables/:name` rows. */
export declare const DB_TABLE_ROWS_LIMIT_MAX = 1000;
/**
 * Per-factory configuration for db routes.
 */
export interface DbRouteOptions {
    db_type: DbType;
    db_name: string;
    /** Optional callback to provide app-specific stats in the health response. */
    extra_stats?: (db: Db) => Promise<Record<string, unknown>>;
    /** Optional logger for server-side diagnostics (e.g. FK violation details). */
    log?: Logger;
}
/**
 * Create the db API route specs.
 */
export declare const create_db_route_specs: (options: DbRouteOptions) => Array<RouteSpec>;
//# sourceMappingURL=db_routes.d.ts.map