import { BaseSchemaState } from '../base_schema_state.js';
import { type PostgreConfig, type QueryClientContract } from '../../../types/database.js';
/**
 * PostgreSQL schema dumps are delegated to `pg_dump`.
 */
export declare class PgSchemaState extends BaseSchemaState {
    #private;
    constructor(client: QueryClientContract, connectionConfig: PostgreConfig, schemaTableName: string, schemaVersionsTableName: string);
    /**
     * Dump the structural schema using `pg_dump`.
     */
    protected dumpSchema(path: string): Promise<void>;
    /**
     * Dump Lucid's migration bookkeeping tables with `pg_dump --data-only`.
     *
     * PostgreSQL cannot rely on the generic metadata dumper from the base class.
     * That path appends plain `INSERT` statements, but it does not update the
     * `serial` sequence backing `adonis_schema.id`. Dumping these tables through
     * `pg_dump` keeps the restore native to Postgres and preserves the sequence
     * state needed by future migration inserts.
     */
    protected dumpMigrationMetadata(): Promise<string>;
    /**
     * Load the schema dump using `psql`.
     */
    load(path: string): Promise<void>;
    /**
     * Remove session-level settings that are not understood by older PostgreSQL
     * server versions.
     */
    private removeUnsupportedSessionSettings;
    /**
     * Normalize the final SQL dump before it is consumed by `psql`.
     */
    private normalizeDump;
}
