import { AppContext } from '../types.js';
import { BaseEntity } from '@memberjunction/core';
export declare enum TransactionVariableType {
    Define = "Define",
    Use = "Use"
}
export declare enum TransactionOperationType {
    Create = "Create",
    Update = "Update",
    Delete = "Delete"
}
export declare class TransactionVariableInputType {
    Name: string;
    ItemIndex: number;
    FieldName: string;
    Type: TransactionVariableType;
}
export declare class TransactionItemInputType {
    EntityName: string;
    EntityObjectJSON: string;
    OperationType: TransactionOperationType;
}
export declare class TransactionInputType {
    Items: TransactionItemInputType[];
    Variables?: TransactionVariableInputType[] | null;
}
export declare class TransactionOutputType {
    Success: boolean;
    ErrorMessages: string[];
    ResultsJSON: string[];
}
export declare class TransactionResolver {
    ExecuteTransactionGroup(group: TransactionInputType, context: AppContext): Promise<TransactionOutputType>;
    protected PrepareReturnValue(success: boolean, entityObjects: BaseEntity[], objectValues: any[], group: TransactionInputType): Promise<TransactionOutputType>;
}
//# sourceMappingURL=TransactionGroupResolver.d.ts.map