// package: cosmos.quarantine.v1beta1
// file: cosmos/quarantine/v1beta1/quarantine.proto

/* tslint:disable */
/* eslint-disable */

import * as jspb from "google-protobuf";
import * as cosmos_base_v1beta1_coin_pb from "../../../cosmos/base/v1beta1/coin_pb";
import * as cosmos_proto_cosmos_pb from "../../../cosmos_proto/cosmos_pb";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";

export class QuarantinedFunds extends jspb.Message { 
    getToAddress(): string;
    setToAddress(value: string): QuarantinedFunds;
    clearUnacceptedFromAddressesList(): void;
    getUnacceptedFromAddressesList(): Array<string>;
    setUnacceptedFromAddressesList(value: Array<string>): QuarantinedFunds;
    addUnacceptedFromAddresses(value: string, index?: number): string;
    clearCoinsList(): void;
    getCoinsList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setCoinsList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): QuarantinedFunds;
    addCoins(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;
    getDeclined(): boolean;
    setDeclined(value: boolean): QuarantinedFunds;

    serializeBinary(): Uint8Array;
    toObject(includeInstance?: boolean): QuarantinedFunds.AsObject;
    static toObject(includeInstance: boolean, msg: QuarantinedFunds): QuarantinedFunds.AsObject;
    static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
    static serializeBinaryToWriter(message: QuarantinedFunds, writer: jspb.BinaryWriter): void;
    static deserializeBinary(bytes: Uint8Array): QuarantinedFunds;
    static deserializeBinaryFromReader(message: QuarantinedFunds, reader: jspb.BinaryReader): QuarantinedFunds;
}

export namespace QuarantinedFunds {
    export type AsObject = {
        toAddress: string,
        unacceptedFromAddressesList: Array<string>,
        coinsList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
        declined: boolean,
    }
}

export class AutoResponseEntry extends jspb.Message { 
    getToAddress(): string;
    setToAddress(value: string): AutoResponseEntry;
    getFromAddress(): string;
    setFromAddress(value: string): AutoResponseEntry;
    getResponse(): AutoResponse;
    setResponse(value: AutoResponse): AutoResponseEntry;

    serializeBinary(): Uint8Array;
    toObject(includeInstance?: boolean): AutoResponseEntry.AsObject;
    static toObject(includeInstance: boolean, msg: AutoResponseEntry): AutoResponseEntry.AsObject;
    static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
    static serializeBinaryToWriter(message: AutoResponseEntry, writer: jspb.BinaryWriter): void;
    static deserializeBinary(bytes: Uint8Array): AutoResponseEntry;
    static deserializeBinaryFromReader(message: AutoResponseEntry, reader: jspb.BinaryReader): AutoResponseEntry;
}

export namespace AutoResponseEntry {
    export type AsObject = {
        toAddress: string,
        fromAddress: string,
        response: AutoResponse,
    }
}

export class AutoResponseUpdate extends jspb.Message { 
    getFromAddress(): string;
    setFromAddress(value: string): AutoResponseUpdate;
    getResponse(): AutoResponse;
    setResponse(value: AutoResponse): AutoResponseUpdate;

    serializeBinary(): Uint8Array;
    toObject(includeInstance?: boolean): AutoResponseUpdate.AsObject;
    static toObject(includeInstance: boolean, msg: AutoResponseUpdate): AutoResponseUpdate.AsObject;
    static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
    static serializeBinaryToWriter(message: AutoResponseUpdate, writer: jspb.BinaryWriter): void;
    static deserializeBinary(bytes: Uint8Array): AutoResponseUpdate;
    static deserializeBinaryFromReader(message: AutoResponseUpdate, reader: jspb.BinaryReader): AutoResponseUpdate;
}

export namespace AutoResponseUpdate {
    export type AsObject = {
        fromAddress: string,
        response: AutoResponse,
    }
}

export class QuarantineRecord extends jspb.Message { 
    clearUnacceptedFromAddressesList(): void;
    getUnacceptedFromAddressesList(): Array<Uint8Array | string>;
    getUnacceptedFromAddressesList_asU8(): Array<Uint8Array>;
    getUnacceptedFromAddressesList_asB64(): Array<string>;
    setUnacceptedFromAddressesList(value: Array<Uint8Array | string>): QuarantineRecord;
    addUnacceptedFromAddresses(value: Uint8Array | string, index?: number): Uint8Array | string;
    clearAcceptedFromAddressesList(): void;
    getAcceptedFromAddressesList(): Array<Uint8Array | string>;
    getAcceptedFromAddressesList_asU8(): Array<Uint8Array>;
    getAcceptedFromAddressesList_asB64(): Array<string>;
    setAcceptedFromAddressesList(value: Array<Uint8Array | string>): QuarantineRecord;
    addAcceptedFromAddresses(value: Uint8Array | string, index?: number): Uint8Array | string;
    clearCoinsList(): void;
    getCoinsList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setCoinsList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): QuarantineRecord;
    addCoins(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;
    getDeclined(): boolean;
    setDeclined(value: boolean): QuarantineRecord;

    serializeBinary(): Uint8Array;
    toObject(includeInstance?: boolean): QuarantineRecord.AsObject;
    static toObject(includeInstance: boolean, msg: QuarantineRecord): QuarantineRecord.AsObject;
    static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
    static serializeBinaryToWriter(message: QuarantineRecord, writer: jspb.BinaryWriter): void;
    static deserializeBinary(bytes: Uint8Array): QuarantineRecord;
    static deserializeBinaryFromReader(message: QuarantineRecord, reader: jspb.BinaryReader): QuarantineRecord;
}

export namespace QuarantineRecord {
    export type AsObject = {
        unacceptedFromAddressesList: Array<Uint8Array | string>,
        acceptedFromAddressesList: Array<Uint8Array | string>,
        coinsList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
        declined: boolean,
    }
}

export class QuarantineRecordSuffixIndex extends jspb.Message { 
    clearRecordSuffixesList(): void;
    getRecordSuffixesList(): Array<Uint8Array | string>;
    getRecordSuffixesList_asU8(): Array<Uint8Array>;
    getRecordSuffixesList_asB64(): Array<string>;
    setRecordSuffixesList(value: Array<Uint8Array | string>): QuarantineRecordSuffixIndex;
    addRecordSuffixes(value: Uint8Array | string, index?: number): Uint8Array | string;

    serializeBinary(): Uint8Array;
    toObject(includeInstance?: boolean): QuarantineRecordSuffixIndex.AsObject;
    static toObject(includeInstance: boolean, msg: QuarantineRecordSuffixIndex): QuarantineRecordSuffixIndex.AsObject;
    static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
    static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
    static serializeBinaryToWriter(message: QuarantineRecordSuffixIndex, writer: jspb.BinaryWriter): void;
    static deserializeBinary(bytes: Uint8Array): QuarantineRecordSuffixIndex;
    static deserializeBinaryFromReader(message: QuarantineRecordSuffixIndex, reader: jspb.BinaryReader): QuarantineRecordSuffixIndex;
}

export namespace QuarantineRecordSuffixIndex {
    export type AsObject = {
        recordSuffixesList: Array<Uint8Array | string>,
    }
}

export enum AutoResponse {
    AUTO_RESPONSE_UNSPECIFIED = 0,
    AUTO_RESPONSE_ACCEPT = 1,
    AUTO_RESPONSE_DECLINE = 2,
}
