import type { ClassMetadata, EntityIndexMetadata } from './model';
export type GeneratedColumnStorage = 'virtual' | 'stored';
export interface GeneratedColumnOptions {
    expression: string;
    storage: GeneratedColumnStorage;
}
export type EntityOptions = {
    collectionName?: string;
    indexes?: EntityIndexMetadata[];
    excludeMigration?: boolean;
    generatedColumns?: Record<string, GeneratedColumnOptions>;
};
export type EntityClassDecorator = ClassDecorator & {
    index(names: readonly (string | number | symbol)[], options?: Record<string, any>): EntityClassDecorator;
    excludeMigration(): EntityClassDecorator;
};
export declare const classMetadata: WeakMap<Function, ClassMetadata>;
export declare const classOptions: WeakMap<Function, EntityOptions>;
export declare function applyMetadataOptions(metadata: ClassMetadata, options?: EntityOptions): void;
//# sourceMappingURL=metadata-store.d.ts.map