import { AccountAuthenticator, AccountAuthenticatorAmino, AccountAuthenticatorSDKType } from "./models";
import { Params, ParamsAmino, ParamsSDKType } from "./params";
import { BinaryReader, BinaryWriter } from "../../../binary";
/**
* AuthenticatorData represents a genesis exported account with Authenticators.
* The address is used as the key, and the account authenticators are stored in
* the authenticators field.
*/
export interface AuthenticatorData {
/** address is an account address, one address can have many authenticators */
address: string;
/**
* authenticators are the account's authenticators, these can be multiple
* types including SignatureVerificationAuthenticator, AllOfAuthenticators and
* CosmWasmAuthenticators.
*/
authenticators: AccountAuthenticator[];
}
export interface AuthenticatorDataProtoMsg {
typeUrl: "/osmosis.smartaccount.v1beta1.AuthenticatorData";
value: Uint8Array;
}
/**
* AuthenticatorData represents a genesis exported account with Authenticators.
* The address is used as the key, and the account authenticators are stored in
* the authenticators field.
*/
export interface AuthenticatorDataAmino {
/** address is an account address, one address can have many authenticators */
address?: string;
/**
* authenticators are the account's authenticators, these can be multiple
* types including SignatureVerificationAuthenticator, AllOfAuthenticators and
* CosmWasmAuthenticators.
*/
authenticators?: AccountAuthenticatorAmino[];
}
export interface AuthenticatorDataAminoMsg {
type: "osmosis/smartaccount/authenticator-data";
value: AuthenticatorDataAmino;
}
/**
* AuthenticatorData represents a genesis exported account with Authenticators.
* The address is used as the key, and the account authenticators are stored in
* the authenticators field.
*/
export interface AuthenticatorDataSDKType {
address: string;
authenticators: AccountAuthenticatorSDKType[];
}
/** GenesisState defines the authenticator module's genesis state. */
export interface GenesisState {
/** params define the parameters for the authenticator module. */
params: Params;
/** next_authenticator_id is the next available authenticator ID. */
nextAuthenticatorId: bigint;
/**
* authenticator_data contains the data for multiple accounts, each with their
* authenticators.
*/
authenticatorData: AuthenticatorData[];
}
export interface GenesisStateProtoMsg {
typeUrl: "/osmosis.smartaccount.v1beta1.GenesisState";
value: Uint8Array;
}
/** GenesisState defines the authenticator module's genesis state. */
export interface GenesisStateAmino {
/** params define the parameters for the authenticator module. */
params?: ParamsAmino;
/** next_authenticator_id is the next available authenticator ID. */
next_authenticator_id?: string;
/**
* authenticator_data contains the data for multiple accounts, each with their
* authenticators.
*/
authenticator_data?: AuthenticatorDataAmino[];
}
export interface GenesisStateAminoMsg {
type: "osmosis/smartaccount/genesis-state";
value: GenesisStateAmino;
}
/** GenesisState defines the authenticator module's genesis state. */
export interface GenesisStateSDKType {
params: ParamsSDKType;
next_authenticator_id: bigint;
authenticator_data: AuthenticatorDataSDKType[];
}
export declare const AuthenticatorData: {
typeUrl: string;
aminoType: string;
is(o: any): o is AuthenticatorData;
isSDK(o: any): o is AuthenticatorDataSDKType;
isAmino(o: any): o is AuthenticatorDataAmino;
encode(message: AuthenticatorData, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): AuthenticatorData;
fromPartial(object: Partial<AuthenticatorData>): AuthenticatorData;
fromAmino(object: AuthenticatorDataAmino): AuthenticatorData;
toAmino(message: AuthenticatorData): AuthenticatorDataAmino;
fromAminoMsg(object: AuthenticatorDataAminoMsg): AuthenticatorData;
toAminoMsg(message: AuthenticatorData): AuthenticatorDataAminoMsg;
fromProtoMsg(message: AuthenticatorDataProtoMsg): AuthenticatorData;
toProto(message: AuthenticatorData): Uint8Array;
toProtoMsg(message: AuthenticatorData): AuthenticatorDataProtoMsg;
};
export declare const GenesisState: {
typeUrl: string;
aminoType: string;
is(o: any): o is GenesisState;
isSDK(o: any): o is GenesisStateSDKType;
isAmino(o: any): o is GenesisStateAmino;
encode(message: GenesisState, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): GenesisState;
fromPartial(object: Partial<GenesisState>): GenesisState;
fromAmino(object: GenesisStateAmino): GenesisState;
toAmino(message: GenesisState): GenesisStateAmino;
fromAminoMsg(object: GenesisStateAminoMsg): GenesisState;
toAminoMsg(message: GenesisState): GenesisStateAminoMsg;
fromProtoMsg(message: GenesisStateProtoMsg): GenesisState;
toProto(message: GenesisState): Uint8Array;
toProtoMsg(message: GenesisState): GenesisStateProtoMsg;
};