import { DatabaseQueryBuilder } from '../dml';
import { TriggerEvent, TriggerOptions, TriggerTiming } from './trigger-options';
export declare abstract class DatabaseTrigger {
    protected abstract name: string;
    protected timing: TriggerTiming;
    protected event: TriggerEvent;
    protected table: string;
    constructor(options: DatabaseTriggerConstructorOptions);
    getTrigger(options: GetTriggerOptions): TriggerOptions;
    protected getName(): string;
    protected abstract getBody(options: GetTriggerBodyOptions): DatabaseQueryBuilder;
}
export interface DatabaseTriggerConstructorOptions {
    table: string;
}
export interface GetTriggerBodyOptions {
    queryBuilder: DatabaseQueryBuilder;
}
export type GetTriggerOptions = GetTriggerBodyOptions;
