import type { Kind, KeyedTable, OrdinalTable, RegistryId, RegistryMissPolicy, RegistryTable, SlotTable } from '@flighthq/types/contract'; export declare function concatRegistryTable(base: Readonly> | Readonly>, overlay: Readonly> | Readonly>): KeyedTable | SlotTable; /** An empty keyed table for `registry`, carrying the miss policy every replacement of it preserves. */ export declare function createKeyedTable(registry: RegistryId, onMiss: RegistryMissPolicy): KeyedTable; /** An ordinal table over `vocabulary`, every ordinal unbound. */ export declare function createOrdinalTable(registry: RegistryId, onMiss: RegistryMissPolicy, vocabulary: readonly Kind[]): OrdinalTable; /** An empty slot table for `registry`. Its key is its own `RegistryId`. */ export declare function createSlotTable(registry: RegistryId, onMiss: RegistryMissPolicy): SlotTable; export declare function getOrdinalTableEntry(table: Readonly>, ordinal: number): T | null; export declare function getRegistryTableEntry(table: Readonly>, key: Kind): T | null; export declare function getRegistryTableKeys(out: Kind[], table: Readonly>): void; export declare function hasRegistryTableEntry(table: Readonly>, key: Kind): boolean; export declare function withoutRegistryTableEntry(table: Readonly>, key: Kind): KeyedTable; export declare function withRegistryTableEntry(table: Readonly>, key: Kind, value: T): KeyedTable; export declare function withRegistryTableTombstone(table: Readonly>, key: Kind): KeyedTable; //# sourceMappingURL=registryTable.d.ts.map