// package: cosmos.sanction.v1beta1
// file: cosmos/sanction/v1beta1/sanction.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 Params extends jspb.Message { 
    clearImmediateSanctionMinDepositList(): void;
    getImmediateSanctionMinDepositList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setImmediateSanctionMinDepositList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): Params;
    addImmediateSanctionMinDeposit(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;
    clearImmediateUnsanctionMinDepositList(): void;
    getImmediateUnsanctionMinDepositList(): Array<cosmos_base_v1beta1_coin_pb.Coin>;
    setImmediateUnsanctionMinDepositList(value: Array<cosmos_base_v1beta1_coin_pb.Coin>): Params;
    addImmediateUnsanctionMinDeposit(value?: cosmos_base_v1beta1_coin_pb.Coin, index?: number): cosmos_base_v1beta1_coin_pb.Coin;

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

export namespace Params {
    export type AsObject = {
        immediateSanctionMinDepositList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
        immediateUnsanctionMinDepositList: Array<cosmos_base_v1beta1_coin_pb.Coin.AsObject>,
    }
}

export class TemporaryEntry extends jspb.Message { 
    getAddress(): string;
    setAddress(value: string): TemporaryEntry;
    getProposalId(): number;
    setProposalId(value: number): TemporaryEntry;
    getStatus(): TempStatus;
    setStatus(value: TempStatus): TemporaryEntry;

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

export namespace TemporaryEntry {
    export type AsObject = {
        address: string,
        proposalId: number,
        status: TempStatus,
    }
}

export enum TempStatus {
    TEMP_STATUS_UNSPECIFIED = 0,
    TEMP_STATUS_SANCTIONED = 1,
    TEMP_STATUS_UNSANCTIONED = 2,
}
