import { BinaryReader, BinaryWriter } from "../../../binary";
import { DeepPartial } from "../../../helpers";
/**
 * ListenDeliverBlockRequest is the request type for the ListenDeliverBlock RPC method
 * @name ListenDeliverBlockRequest
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenDeliverBlockRequest
 */
export interface ListenDeliverBlockRequest {
    blockHeight: bigint;
    txs: Uint8Array[];
    events: Event[];
    txResults: ExecTxResult[];
}
export interface ListenDeliverBlockRequestProtoMsg {
    typeUrl: "/cosmos.streaming.v1.ListenDeliverBlockRequest";
    value: Uint8Array;
}
/**
 * ListenDeliverBlockRequest is the request type for the ListenDeliverBlock RPC method
 * @name ListenDeliverBlockRequestAmino
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenDeliverBlockRequest
 */
export interface ListenDeliverBlockRequestAmino {
    block_height: string;
    txs: string[];
    events: EventAmino[];
    tx_results: ExecTxResultAmino[];
}
export interface ListenDeliverBlockRequestAminoMsg {
    type: "cosmos-sdk/ListenDeliverBlockRequest";
    value: ListenDeliverBlockRequestAmino;
}
/**
 * ListenDeliverBlockResponse is the response type for the ListenDeliverBlock RPC method
 * @name ListenDeliverBlockResponse
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenDeliverBlockResponse
 */
export interface ListenDeliverBlockResponse {
}
export interface ListenDeliverBlockResponseProtoMsg {
    typeUrl: "/cosmos.streaming.v1.ListenDeliverBlockResponse";
    value: Uint8Array;
}
/**
 * ListenDeliverBlockResponse is the response type for the ListenDeliverBlock RPC method
 * @name ListenDeliverBlockResponseAmino
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenDeliverBlockResponse
 */
export interface ListenDeliverBlockResponseAmino {
}
export interface ListenDeliverBlockResponseAminoMsg {
    type: "cosmos-sdk/ListenDeliverBlockResponse";
    value: ListenDeliverBlockResponseAmino;
}
/**
 * ListenStateChangesRequest is the request type for the ListenStateChanges RPC method
 * @name ListenStateChangesRequest
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenStateChangesRequest
 */
export interface ListenStateChangesRequest {
    blockHeight: bigint;
    changeSet: StoreKVPair[];
    appHash: Uint8Array;
}
export interface ListenStateChangesRequestProtoMsg {
    typeUrl: "/cosmos.streaming.v1.ListenStateChangesRequest";
    value: Uint8Array;
}
/**
 * ListenStateChangesRequest is the request type for the ListenStateChanges RPC method
 * @name ListenStateChangesRequestAmino
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenStateChangesRequest
 */
export interface ListenStateChangesRequestAmino {
    block_height: string;
    change_set: StoreKVPairAmino[];
    app_hash: string;
}
export interface ListenStateChangesRequestAminoMsg {
    type: "cosmos-sdk/ListenStateChangesRequest";
    value: ListenStateChangesRequestAmino;
}
/**
 * ListenStateChangesResponse is the response type for the ListenStateChanges RPC method
 * @name ListenStateChangesResponse
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenStateChangesResponse
 */
export interface ListenStateChangesResponse {
}
export interface ListenStateChangesResponseProtoMsg {
    typeUrl: "/cosmos.streaming.v1.ListenStateChangesResponse";
    value: Uint8Array;
}
/**
 * ListenStateChangesResponse is the response type for the ListenStateChanges RPC method
 * @name ListenStateChangesResponseAmino
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenStateChangesResponse
 */
export interface ListenStateChangesResponseAmino {
}
export interface ListenStateChangesResponseAminoMsg {
    type: "cosmos-sdk/ListenStateChangesResponse";
    value: ListenStateChangesResponseAmino;
}
/**
 * StoreKVPair is a single key-value pair, associated with a store.
 * @name StoreKVPair
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.StoreKVPair
 */
export interface StoreKVPair {
    /**
     * address defines the address of the account the state changes are coming from.
     * In case of modules you can expect a stringified
     */
    address: Uint8Array;
    /**
     * key defines the key of the address that changed.
     */
    key: Uint8Array;
    /**
     * value defines the value that changed, empty in case of removal.
     */
    value: Uint8Array;
    /**
     * delete defines if the key was removed.
     */
    delete: boolean;
}
export interface StoreKVPairProtoMsg {
    typeUrl: "/cosmos.streaming.v1.StoreKVPair";
    value: Uint8Array;
}
/**
 * StoreKVPair is a single key-value pair, associated with a store.
 * @name StoreKVPairAmino
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.StoreKVPair
 */
export interface StoreKVPairAmino {
    /**
     * address defines the address of the account the state changes are coming from.
     * In case of modules you can expect a stringified
     */
    address: string;
    /**
     * key defines the key of the address that changed.
     */
    key: string;
    /**
     * value defines the value that changed, empty in case of removal.
     */
    value: string;
    /**
     * delete defines if the key was removed.
     */
    delete: boolean;
}
export interface StoreKVPairAminoMsg {
    type: "cosmos-sdk/StoreKVPair";
    value: StoreKVPairAmino;
}
/**
 * Event is a single event, associated with a transaction.
 * @name Event
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.Event
 */
export interface Event {
    type: string;
    attributes: EventAttribute[];
}
export interface EventProtoMsg {
    typeUrl: "/cosmos.streaming.v1.Event";
    value: Uint8Array;
}
/**
 * Event is a single event, associated with a transaction.
 * @name EventAmino
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.Event
 */
export interface EventAmino {
    type: string;
    attributes: EventAttributeAmino[];
}
export interface EventAminoMsg {
    type: "cosmos-sdk/Event";
    value: EventAmino;
}
/**
 * EventAttribute is a single key-value pair, associated with an event.
 * @name EventAttribute
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.EventAttribute
 */
export interface EventAttribute {
    key: string;
    value: string;
}
export interface EventAttributeProtoMsg {
    typeUrl: "/cosmos.streaming.v1.EventAttribute";
    value: Uint8Array;
}
/**
 * EventAttribute is a single key-value pair, associated with an event.
 * @name EventAttributeAmino
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.EventAttribute
 */
export interface EventAttributeAmino {
    key: string;
    value: string;
}
export interface EventAttributeAminoMsg {
    type: "cosmos-sdk/EventAttribute";
    value: EventAttributeAmino;
}
/**
 * ExecTxResult contains results of executing one individual transaction.
 * @name ExecTxResult
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ExecTxResult
 */
export interface ExecTxResult {
    code: number;
    data: Uint8Array;
    log: string;
    info: string;
    gasWanted: bigint;
    gasUsed: bigint;
    events: Event[];
    codespace: string;
}
export interface ExecTxResultProtoMsg {
    typeUrl: "/cosmos.streaming.v1.ExecTxResult";
    value: Uint8Array;
}
/**
 * ExecTxResult contains results of executing one individual transaction.
 * @name ExecTxResultAmino
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ExecTxResult
 */
export interface ExecTxResultAmino {
    code: number;
    data: string;
    log: string;
    info: string;
    gas_wanted: string;
    gas_used: string;
    events: EventAmino[];
    codespace: string;
}
export interface ExecTxResultAminoMsg {
    type: "cosmos-sdk/ExecTxResult";
    value: ExecTxResultAmino;
}
/**
 * ListenDeliverBlockRequest is the request type for the ListenDeliverBlock RPC method
 * @name ListenDeliverBlockRequest
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenDeliverBlockRequest
 */
export declare const ListenDeliverBlockRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListenDeliverBlockRequest;
    isAmino(o: any): o is ListenDeliverBlockRequestAmino;
    encode(message: ListenDeliverBlockRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListenDeliverBlockRequest;
    fromPartial(object: DeepPartial<ListenDeliverBlockRequest>): ListenDeliverBlockRequest;
    fromAmino(object: ListenDeliverBlockRequestAmino): ListenDeliverBlockRequest;
    toAmino(message: ListenDeliverBlockRequest): ListenDeliverBlockRequestAmino;
    fromAminoMsg(object: ListenDeliverBlockRequestAminoMsg): ListenDeliverBlockRequest;
    toAminoMsg(message: ListenDeliverBlockRequest): ListenDeliverBlockRequestAminoMsg;
    fromProtoMsg(message: ListenDeliverBlockRequestProtoMsg): ListenDeliverBlockRequest;
    toProto(message: ListenDeliverBlockRequest): Uint8Array;
    toProtoMsg(message: ListenDeliverBlockRequest): ListenDeliverBlockRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ListenDeliverBlockResponse is the response type for the ListenDeliverBlock RPC method
 * @name ListenDeliverBlockResponse
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenDeliverBlockResponse
 */
export declare const ListenDeliverBlockResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListenDeliverBlockResponse;
    isAmino(o: any): o is ListenDeliverBlockResponseAmino;
    encode(_: ListenDeliverBlockResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListenDeliverBlockResponse;
    fromPartial(_: DeepPartial<ListenDeliverBlockResponse>): ListenDeliverBlockResponse;
    fromAmino(_: ListenDeliverBlockResponseAmino): ListenDeliverBlockResponse;
    toAmino(_: ListenDeliverBlockResponse): ListenDeliverBlockResponseAmino;
    fromAminoMsg(object: ListenDeliverBlockResponseAminoMsg): ListenDeliverBlockResponse;
    toAminoMsg(message: ListenDeliverBlockResponse): ListenDeliverBlockResponseAminoMsg;
    fromProtoMsg(message: ListenDeliverBlockResponseProtoMsg): ListenDeliverBlockResponse;
    toProto(message: ListenDeliverBlockResponse): Uint8Array;
    toProtoMsg(message: ListenDeliverBlockResponse): ListenDeliverBlockResponseProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ListenStateChangesRequest is the request type for the ListenStateChanges RPC method
 * @name ListenStateChangesRequest
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenStateChangesRequest
 */
export declare const ListenStateChangesRequest: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListenStateChangesRequest;
    isAmino(o: any): o is ListenStateChangesRequestAmino;
    encode(message: ListenStateChangesRequest, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListenStateChangesRequest;
    fromPartial(object: DeepPartial<ListenStateChangesRequest>): ListenStateChangesRequest;
    fromAmino(object: ListenStateChangesRequestAmino): ListenStateChangesRequest;
    toAmino(message: ListenStateChangesRequest): ListenStateChangesRequestAmino;
    fromAminoMsg(object: ListenStateChangesRequestAminoMsg): ListenStateChangesRequest;
    toAminoMsg(message: ListenStateChangesRequest): ListenStateChangesRequestAminoMsg;
    fromProtoMsg(message: ListenStateChangesRequestProtoMsg): ListenStateChangesRequest;
    toProto(message: ListenStateChangesRequest): Uint8Array;
    toProtoMsg(message: ListenStateChangesRequest): ListenStateChangesRequestProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ListenStateChangesResponse is the response type for the ListenStateChanges RPC method
 * @name ListenStateChangesResponse
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ListenStateChangesResponse
 */
export declare const ListenStateChangesResponse: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ListenStateChangesResponse;
    isAmino(o: any): o is ListenStateChangesResponseAmino;
    encode(_: ListenStateChangesResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ListenStateChangesResponse;
    fromPartial(_: DeepPartial<ListenStateChangesResponse>): ListenStateChangesResponse;
    fromAmino(_: ListenStateChangesResponseAmino): ListenStateChangesResponse;
    toAmino(_: ListenStateChangesResponse): ListenStateChangesResponseAmino;
    fromAminoMsg(object: ListenStateChangesResponseAminoMsg): ListenStateChangesResponse;
    toAminoMsg(message: ListenStateChangesResponse): ListenStateChangesResponseAminoMsg;
    fromProtoMsg(message: ListenStateChangesResponseProtoMsg): ListenStateChangesResponse;
    toProto(message: ListenStateChangesResponse): Uint8Array;
    toProtoMsg(message: ListenStateChangesResponse): ListenStateChangesResponseProtoMsg;
    registerTypeUrl(): void;
};
/**
 * StoreKVPair is a single key-value pair, associated with a store.
 * @name StoreKVPair
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.StoreKVPair
 */
export declare const StoreKVPair: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is StoreKVPair;
    isAmino(o: any): o is StoreKVPairAmino;
    encode(message: StoreKVPair, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): StoreKVPair;
    fromPartial(object: DeepPartial<StoreKVPair>): StoreKVPair;
    fromAmino(object: StoreKVPairAmino): StoreKVPair;
    toAmino(message: StoreKVPair): StoreKVPairAmino;
    fromAminoMsg(object: StoreKVPairAminoMsg): StoreKVPair;
    toAminoMsg(message: StoreKVPair): StoreKVPairAminoMsg;
    fromProtoMsg(message: StoreKVPairProtoMsg): StoreKVPair;
    toProto(message: StoreKVPair): Uint8Array;
    toProtoMsg(message: StoreKVPair): StoreKVPairProtoMsg;
    registerTypeUrl(): void;
};
/**
 * Event is a single event, associated with a transaction.
 * @name Event
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.Event
 */
export declare const Event: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is Event;
    isAmino(o: any): o is EventAmino;
    encode(message: Event, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): Event;
    fromPartial(object: DeepPartial<Event>): Event;
    fromAmino(object: EventAmino): Event;
    toAmino(message: Event): EventAmino;
    fromAminoMsg(object: EventAminoMsg): Event;
    toAminoMsg(message: Event): EventAminoMsg;
    fromProtoMsg(message: EventProtoMsg): Event;
    toProto(message: Event): Uint8Array;
    toProtoMsg(message: Event): EventProtoMsg;
    registerTypeUrl(): void;
};
/**
 * EventAttribute is a single key-value pair, associated with an event.
 * @name EventAttribute
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.EventAttribute
 */
export declare const EventAttribute: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is EventAttribute;
    isAmino(o: any): o is EventAttributeAmino;
    encode(message: EventAttribute, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): EventAttribute;
    fromPartial(object: DeepPartial<EventAttribute>): EventAttribute;
    fromAmino(object: EventAttributeAmino): EventAttribute;
    toAmino(message: EventAttribute): EventAttributeAmino;
    fromAminoMsg(object: EventAttributeAminoMsg): EventAttribute;
    toAminoMsg(message: EventAttribute): EventAttributeAminoMsg;
    fromProtoMsg(message: EventAttributeProtoMsg): EventAttribute;
    toProto(message: EventAttribute): Uint8Array;
    toProtoMsg(message: EventAttribute): EventAttributeProtoMsg;
    registerTypeUrl(): void;
};
/**
 * ExecTxResult contains results of executing one individual transaction.
 * @name ExecTxResult
 * @package cosmos.streaming.v1
 * @see proto type: cosmos.streaming.v1.ExecTxResult
 */
export declare const ExecTxResult: {
    typeUrl: string;
    aminoType: string;
    is(o: any): o is ExecTxResult;
    isAmino(o: any): o is ExecTxResultAmino;
    encode(message: ExecTxResult, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): ExecTxResult;
    fromPartial(object: DeepPartial<ExecTxResult>): ExecTxResult;
    fromAmino(object: ExecTxResultAmino): ExecTxResult;
    toAmino(message: ExecTxResult): ExecTxResultAmino;
    fromAminoMsg(object: ExecTxResultAminoMsg): ExecTxResult;
    toAminoMsg(message: ExecTxResult): ExecTxResultAminoMsg;
    fromProtoMsg(message: ExecTxResultProtoMsg): ExecTxResult;
    toProto(message: ExecTxResult): Uint8Array;
    toProtoMsg(message: ExecTxResult): ExecTxResultProtoMsg;
    registerTypeUrl(): void;
};
