import { LCDClient } from './LCDClient';
import { Key } from '../../key';
import { CreateTxOptions } from './api/TxAPI';
import { Tx } from '../../core/Tx';
import { SignMode as SignModeV1 } from '@glitterprotocol/glitter.proto/cosmos/tx/signing/v1beta1/signing';
import { SignMode as SignModeV2 } from '@glitterprotocol/glitter.proto/cosmos/tx/signing/v1beta1/signing';
import { Argument } from '@glitterprotocol/glitter.proto/index/sql_engine';
import { AxiosRequestHeaders } from 'axios';
import { CreateDatasetRequest } from '@glitterprotocol/glitter.proto/glitterchain/index/tx';
import { EditDatasetRequest } from '@glitterprotocol/glitter.proto/glitterchain/index/tx';
import { EditTableRequest } from '@glitterprotocol/glitter.proto/glitterchain/index/tx';
import { RenewalDatasetRequest } from '@glitterprotocol/glitter.proto/glitterchain/index/tx';
import { PledgeRequest, ReleasePledgeRequest } from '@glitterprotocol/glitter.proto/glitterchain/consumer/tx';
import { IPageParams } from './api/DatasetAPI';
export declare class Db {
    lcd: LCDClient;
    key: Key;
    constructor(lcd: LCDClient, key: Key);
    accountNumberAndSequence(): Promise<{
        account_number: number;
        sequence: number;
    }>;
    getDatabase(name: string): Promise<any>;
    getAllDataset(params: IPageParams): Promise<any>;
    getAllCPDTs(params: IPageParams): Promise<any>;
    getCPDTByDataset(name: string): Promise<any>;
    getAllExpirationTime(params: IPageParams): Promise<any>;
    getAllConsumer(params: IPageParams): Promise<any>;
    getConsumerByAddress(address: string): Promise<any>;
    getReleasingCPDTs(params: IPageParams): Promise<any>;
    getReleasingCPDT(address: string): Promise<any>;
    accountNumber(): Promise<number>;
    sequence(): Promise<number>;
    createTx(options: CreateTxOptions & {
        sequence?: number;
    }): Promise<Tx>;
    setHeader(headers: AxiosRequestHeaders): void;
    createTxOptions(options: {
        msgs: any;
        memo: string;
        fee_denoms: string[];
    }): void;
    createAndSignTx(options: any & {
        sequence?: number;
        accountNumber?: number;
        signMode?: SignModeV1 | SignModeV2;
    }): Promise<Tx>;
    sqlExec(sql: string, args?: Argument[]): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    transfer(addr: string, amount: string): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    createDatabase(params: CreateDatasetRequest): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    editDatabase(params: EditDatasetRequest): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    createTable(params: EditTableRequest): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    editTable(params: EditTableRequest): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    RenewalDataset(params: RenewalDatasetRequest): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    pledge(params: PledgeRequest): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    releasePledge(params: ReleasePledgeRequest): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    dropTable(database: string, table: string): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    showCreateTable(database: string, table: string): Promise<unknown>;
    listDatabases(): Promise<{
        status_code: number;
    }>;
    listTables({ table_keyword, uid, database, page, page_size, }: {
        table_keyword?: string | undefined;
        uid?: string | undefined;
        database?: string | undefined;
        page?: string | undefined;
        page_size?: string | undefined;
    }): Promise<unknown>;
    insert(database: string, table: string, columns: Record<string, any>): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    batchInsert(database: string, table: string, columns: Record<string, any>[]): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    update(database: string, table: string, columns: Record<string, any>, where: Record<string, any>): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    delete(database: string, table: string, where: Record<string, any>, orderBy?: string, asc?: boolean, limit?: number): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    query(sqlTemplate: string, keyWords?: string[], source?: string): Promise<{
        result: any;
    }>;
    queryV2(sqlTemplate: string, datasetName: string, keyWords?: string[], source?: string): Promise<void | Error | {
        result: any;
    }>;
    sqlGrant(to_addr: string, role: string, database: string, table?: string): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    grantReader(to_addr: string, database: string, table?: string): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    grantWriter(to_addr: string, database: string, table?: string): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
    grantAdmin(to_addr: string, database: string, table?: string): Promise<import("./api/TxAPI").WaitTxBroadcastResult>;
}
