import { KustoResultTable, Table, WellKnownDataSet } from "./models.js";
interface V2DataSetHeaderFrame {
    FrameType: "DataSetHeader";
    IsProgressive: boolean;
    Version: string;
}
interface V2DataSetTableFrame extends Table {
    FrameType: "DataTable";
    TableId: number;
    TableName: string;
    TableKind: string;
    Columns: Column[];
    Rows: any[][];
}
interface V2DataSetCompletionFrame {
    FrameType: "DataSetCompletion";
    HasErrors: boolean;
    Cancelled: boolean;
}
export type V2Frames = (V2DataSetHeaderFrame | V2DataSetTableFrame | V2DataSetCompletionFrame)[];
export type V1 = {
    Tables: Table[];
};
interface Column {
    ColumnName: string;
    ColumnType: string;
}
export declare abstract class KustoResponseDataSet {
    tables: KustoResultTable[];
    tableNames: string[];
    primaryResults: KustoResultTable[];
    statusTable?: KustoResultTable;
    abstract dataSetCompletion: {
        HasErrors: boolean;
        OneApiErrors?: any[];
    } | null;
    abstract getStatusColumn(): string;
    abstract getErrorColumn(): string;
    abstract getCridColumn(): string;
    protected constructor(tables: Table[]);
    getErrorsCount(): {
        warnings: number;
        errors: number;
    };
    private getErrorsByLevel;
    getExceptions(): string[];
    getWarnings(): string[];
}
export declare class KustoResponseDataSetV1 extends KustoResponseDataSet {
    version: string;
    dataSetCompletion: null;
    getStatusColumn(): string;
    getCridColumn(): string;
    getErrorColumn(): string;
    static getTablesKinds(): {
        [name: string]: WellKnownDataSet;
    };
    constructor(data: V1);
}
export declare class KustoResponseDataSetV2 extends KustoResponseDataSet {
    dataSetHeader: V2DataSetHeaderFrame | null;
    dataSetCompletion: V2DataSetCompletionFrame | null;
    version: string;
    getStatusColumn(): string;
    getErrorColumn(): string;
    getCridColumn(): string;
    constructor(data: V2Frames);
}
export {};
//# sourceMappingURL=response.d.ts.map