import { type BaseEntityClassType, type NewEntityFields } from '../database';
declare const SchemaSymbol: unique symbol;
export type StringifiedDates<T> = {
    [K in keyof T]: NonNullable<T[K]> extends Date ? string | T[K] : T[K];
};
export type TestFields<T extends BaseEntityClassType> = StringifiedDates<NewEntityFields<InstanceType<T>>>;
export type MockData<T extends BaseEntityClassType> = TestFields<T> & {
    [SchemaSymbol]: T;
};
export declare function defineEntityFixtures<T extends BaseEntityClassType, K extends PropertyKey>(cls: T, data: {
    [P in K]: TestFields<T>;
}): {
    [P in K]: MockData<T>;
};
export declare function prepareEntityFixtures<T extends BaseEntityClassType>(entity: T, data: TestFields<T>): NewEntityFields<InstanceType<T>>;
export declare function loadEntityFixtures(entities: readonly MockData<BaseEntityClassType>[]): Promise<void>;
export {};
//# sourceMappingURL=fixtures.d.ts.map