import * as schemainspect from '@pgkit/schemainspect'; import { Statements } from './statements'; export type StatementsForChangesParams = Parameters[2]; declare function statements_for_changes(things_from: Record, things_target: Record, { creations_only, drops_only, modifications_only, modifications, dependency_ordering, add_dependents_for_modified, modifications_as_alters, }: { creations_only?: boolean; drops_only?: boolean; modifications_only?: boolean; modifications?: boolean; dependency_ordering?: boolean; add_dependents_for_modified?: boolean; modifications_as_alters?: boolean; }): Statements; declare function statements_from_differences(params: { added: Record; removed: Record; modified: Record; replaceable?: Set; creations_only?: boolean; drops_only?: boolean; modifications?: boolean; dependency_ordering?: boolean; old?: Record | null; modifications_only?: boolean; modifications_as_alters?: boolean; }): Statements; declare function get_trigger_changes({ triggers_from, triggers_target, selectables_from, selectables_target, enums_from, enums_target, }: ChangeParams<'triggers' | 'selectables' | 'enums'>, { add_dependents_for_modified, ...kwargs }?: { add_dependents_for_modified?: boolean; } & Omit[0], 'added' | 'removed' | 'modified' | 'old'>): Statements; declare function get_selectable_changes({ selectables_from, selectables_target, enums_from, enums_target, sequences_from, sequences_target, }: ChangeParams<'selectables' | 'enums' | 'sequences'>, { add_dependents_for_modified, tables_only, non_tables_only, drops_only, creations_only, }?: { add_dependents_for_modified?: boolean; tables_only?: boolean; non_tables_only?: boolean; drops_only?: boolean; creations_only?: boolean; }): Statements; export declare class Changes { i_from: schemainspect.PostgreSQL; i_target: schemainspect.PostgreSQL; ignore_extension_versions: boolean; constructor(i_from: schemainspect.PostgreSQL, i_target: schemainspect.PostgreSQL, ignore_extension_versions?: boolean); get extensions(): (params?: StatementsForChangesParams) => Statements; get selectables(): (params?: GetSelectableChangesOptions) => Statements; get tables_only_selectables(): (params?: GetSelectableChangesOptions) => Statements; get non_table_selectable_drops(): (params?: GetSelectableChangesOptions) => Statements; get non_table_selectable_creations(): (params?: GetSelectableChangesOptions) => Statements; get non_pk_constraints(): (params?: Parameters[2]) => Statements; get pk_constraints(): (params?: Parameters[2]) => Statements; get triggers(): (params?: Parameters[1]) => Statements; get mv_indexes(): (params?: Parameters[2]) => Statements; get non_mv_indexes(): (params?: Parameters[2]) => Statements; get sequences(): (params?: Parameters[2]) => Statements; getChangesFor:

(name: P) => (opts?: StatementsForChangesParams) => Statements; schemas: (opts?: StatementsForChangesParams) => Statements; collations: (opts?: StatementsForChangesParams) => Statements; enums: (opts?: StatementsForChangesParams) => Statements; rlspolicies: (opts?: StatementsForChangesParams) => Statements; privileges: (opts?: StatementsForChangesParams) => Statements; domains: (opts?: StatementsForChangesParams) => Statements; } export type GetSelectableChangesOptions = Parameters[1]; export type PGDictProp = { [K in keyof schemainspect.PostgreSQL]: schemainspect.PostgreSQL[K] extends Record ? schemainspect.PostgreSQL[K] extends { ifItExtendsThisItMustBeAny: true; } ? never : K : never; }[keyof schemainspect.PostgreSQL]; export type ChangeParams

= { [K in P as `${K}_${'from' | 'target'}`]: schemainspect.PostgreSQL[K]; }; export {};