import { AminoSignResponse, OfflineAminoSigner, StdSignDoc } from '@cosmjs/amino';
import { DirectSignResponse, OfflineDirectSigner } from '@cosmjs/proto-signing';
import { SignOptions } from '@quirks/core';
import { SignDoc } from 'cosmjs-types/cosmos/tx/v1beta1/tx';
import { SignerOptions } from './options';
export interface SignState {
    signOptions: SignOptions;
    signerOptions?: SignerOptions;
}
export interface SignActions {
    getOfflineSigner: (chainId: string) => Promise<OfflineAminoSigner & OfflineDirectSigner>;
    getOfflineSignerOnlyAmino: (chainId: string) => Promise<OfflineAminoSigner>;
    getOfflineSignerAuto: (chainId: string) => Promise<OfflineAminoSigner | OfflineDirectSigner>;
    signAmino: (chainId: string, signDoc: StdSignDoc) => Promise<AminoSignResponse>;
    signDirect: (chainId: string, signDoc: SignDoc) => Promise<DirectSignResponse>;
}
export type SignSlice = SignState & SignActions;
