import { CommonEntity } from "../../../entities/common.entity";
import { ComputedFieldMetadata } from "../../../helpers/solid-registry";
import { IEntityPostComputeFieldProvider } from "../../../interfaces";
import { DataSource } from "typeorm";
export interface SequenceNumComputedFieldContext {
    sequenceName: string;
    mode?: 'counter' | 'entityId';
}
export declare class SequenceNumComputedFieldProvider<T extends CommonEntity> implements IEntityPostComputeFieldProvider<T, SequenceNumComputedFieldContext> {
    private readonly dataSource;
    constructor(dataSource: DataSource);
    name(): string;
    help(): string;
    private buildSequenceString;
    private generateCounterSequenceValue;
    private generateEntityIdSequenceValue;
    postComputeAndSaveValue(triggerEntity: T, computedFieldMetadata: ComputedFieldMetadata<SequenceNumComputedFieldContext>): Promise<void>;
}
//# sourceMappingURL=sequence-num-computed-field-provider.d.ts.map