/** @packageDocumentation
 * @module iModels
 */
import { DbChangeStage, DbConflictCause, DbOpcode, DbValueType, Id64String } from "@itwin/core-bentley";
import { SqliteChangeOp, SqliteChangesetReader, SqliteValueStage } from "../SqliteChangesetReader";
import { IModelDb } from "../IModelDb";
export interface DbChangesetConflictArgs {
    cause: DbConflictCause;
    opcode: DbOpcode;
    indirect: boolean;
    tableName: string;
    columnCount: number;
    getForeignKeyConflicts: () => number;
    dump: () => void;
    setLastError: (message: string) => void;
    getPrimaryKeyColumns: () => number[];
    getValueType: (columnIndex: number, stage: DbChangeStage) => DbValueType | null | undefined;
    getValueBinary: (columnIndex: number, stage: DbChangeStage) => Uint8Array | null | undefined;
    getValueId: (columnIndex: number, stage: DbChangeStage) => Id64String | null | undefined;
    getValueText: (columnIndex: number, stage: DbChangeStage) => string | null | undefined;
    getValueInteger: (columnIndex: number, stage: DbChangeStage) => number | null | undefined;
    getValueDouble: (columnIndex: number, stage: DbChangeStage) => number | null | undefined;
    isValueNull: (columnIndex: number, stage: DbChangeStage) => boolean | undefined;
    getColumnNames(): string[];
}
export interface DbMergeChangesetConflictArgs extends DbChangesetConflictArgs {
    changesetFile?: string;
}
export interface TxnArgs {
    id: Id64String;
    type: "Data" | "Schema";
    descr: string;
}
export interface DbRebaseChangesetConflictArgs extends DbChangesetConflictArgs {
    txn: TxnArgs;
}
export type SqliteConflictCause = "Conflict" | "Data" | "Constraint" | "ForeignKey" | "NotFound";
export declare class RebaseChangesetConflictArgs {
    private _dbConflictArg;
    private _iModel;
    constructor(_dbConflictArg: DbRebaseChangesetConflictArgs, _iModel: IModelDb);
    get cause(): SqliteConflictCause;
    get opcode(): SqliteChangeOp | undefined;
    openTxn(): SqliteChangesetReader;
    get indirect(): boolean;
    get tableName(): string;
    get columnCount(): number;
    getForeignKeyConflicts(): number;
    setLastError(message: string): void;
    getPrimaryKeyColumns(): number[];
    getValueType(columnIndex: number, stage: SqliteValueStage): DbValueType | null | undefined;
    getValueBinary(columnIndex: number, stage: SqliteValueStage): Uint8Array | null | undefined;
    getValueId(columnIndex: number, stage: SqliteValueStage): Id64String | null | undefined;
    getValueText(columnIndex: number, stage: SqliteValueStage): string | null | undefined;
    getValueInteger(columnIndex: number, stage: SqliteValueStage): number | null | undefined;
    getValueDouble(columnIndex: number, stage: SqliteValueStage): number | null | undefined;
    isValueNull(columnIndex: number, stage: SqliteValueStage): boolean | undefined;
    getColumnNames(): string[];
    getPrimaryKeyValues(): (string | number | Uint8Array | null | undefined)[];
    get txn(): TxnArgs;
}
//# sourceMappingURL=ChangesetConflictArgs.d.ts.map