import { type MergeIntersection, type TypeEq } from 'ts-type-forge'; import { type ExcessPropertyOption, type Type, type TypeOf, type UnknownShape } from '../type.mjs'; export declare const record: (shape: S, options?: Partial>) => Type>; /** * Creates a strict record type that rejects excess properties. * This is an alias for `record(shape, { excessProperty: 'reject' })`. */ export declare const strictRecord: (shape: S, options?: Partial>) => Type>; /** @internal */ type RecordTypeFromShape = TsFortressInternal.RecordTypeFromShapeImpl; declare namespace TsFortressInternal { export type RecordTypeFromShapeImpl = RecordTypeFromShapeImplSub>; type RecordTypeFromShapeImplSub = TypeEq extends true ? Readonly<{ [key in Exclude]: TypeOf; }> : TypeEq extends true ? MergeIntersection; }>> : MergeIntersection; } & { [key in Exclude]: TypeOf; }>>; type OptionalTypeKeys = { [K in keyof S]: S[K] extends Readonly<{ optional: true; }> ? K : never; }[keyof S]; export {}; } export {}; //# sourceMappingURL=record.d.mts.map