import { DTOModels, DTOName } from './dto-name.model';
declare type Method = 'PATCH' | 'POST' | 'DELETE';
interface Action<T> {
    dtoName: DTOName;
    method: Method;
    dtoData: T;
    force: boolean;
}
export declare type BatchAction = CreateAction<DTOModels> | UpdateAction<DTOModels> | DeleteAction<DTOModels>;
export declare class CreateAction<T extends DTOModels> implements Action<T> {
    readonly dtoName: DTOName;
    readonly dtoData: T;
    readonly force: boolean;
    readonly method: Method;
    constructor(dtoName: DTOName, dtoData: T, force?: boolean);
}
export declare class UpdateAction<T extends DTOModels> implements Action<T> {
    readonly dtoName: DTOName;
    readonly dtoData: T;
    readonly force: boolean;
    readonly method: Method;
    constructor(dtoName: DTOName, dtoData: T, force?: boolean);
}
export declare class DeleteAction<T extends DTOModels> implements Action<T> {
    readonly dtoName: DTOName;
    readonly dtoData: T;
    readonly force: boolean;
    readonly method: Method;
    constructor(dtoName: DTOName, dtoData: T, force?: boolean);
}
export {};
