// Generated by nautilus-codegen. Do not edit manually.

export type HstoreRecord = Record<string, string | null>;
export type HstoreEntry = readonly [string, string | null];
export type HstoreEntriesInput = Iterable<HstoreEntry>;
export type HstoreSource =
  | HstoreRecord
  | ReadonlyMap<string, string | null>
  | HstoreEntriesInput;
export interface HstoreEntriesBuilderInput {
  entries: HstoreEntriesInput;
}
export type HstoreBuilderInput = HstoreSource | HstoreEntriesBuilderInput;
export type HstoreInput = Hstore | HstoreBuilderInput;

export declare class Hstore {
  readonly value: HstoreRecord;
  constructor(value?: HstoreBuilderInput);
  static empty(): Hstore;
  static from(value: HstoreInput | HstoreSource): Hstore;
  static fromEntries(entries: HstoreEntriesInput): Hstore;
  static toWireInput(value: HstoreInput): HstoreRecord;
  asMap(): HstoreRecord;
  toWire(): HstoreRecord;
  get(key: string): string | null | undefined;
  has(key: string): boolean;
  with(key: string, value: string | null): Hstore;
  withNull(key: string): Hstore;
  entries(): HstoreEntry[];
  keys(): string[];
  readonly size: number;
  equals(other: HstoreInput | HstoreSource): boolean;
  [Symbol.iterator](): Iterator<HstoreEntry>;
}
