export type BusinessAccountMemberRole = 'owner' | 'admin' | 'viewer';
export type CreateBusinessAccountInput = {
    name?: string;
    externalRef?: string;
    metadata?: object;
};
export type AddBusinessAccountMemberInput = {
    businessAccountId: string;
    userId: string;
    role?: BusinessAccountMemberRole;
};
export type CreateWalletForBusinessAccountInput = {
    businessAccountId: string;
    chainName?: string;
    thresholdSignatureScheme?: string;
    password?: string;
};
export type AddWalletToBusinessAccountInput = {
    businessAccountId: string;
    walletId: string;
};
export type BusinessAccountSignerIdentifierType = 'email' | 'phoneNumber' | 'externalUserId' | 'socialUsername' | 'socialAccountId' | 'id';
export type BusinessAccountSignerType = 'endUser' | 'server';
export type TargetSignerIdentity = {
    userId?: string;
    identifier?: string;
    identifierType?: BusinessAccountSignerIdentifierType;
};
export type AddBusinessAccountSignerInput = {
    businessAccountId: string;
    walletId?: string;
    accountAddress: string;
    chainName: string;
    targetSignerIdentity: TargetSignerIdentity;
    signerType?: BusinessAccountSignerType;
    password?: string;
};
export declare const useBusinessAccounts: () => {
    addMember: (input: AddBusinessAccountMemberInput) => Promise<any>;
    addSigner: ({ accountAddress, walletId, chainName, businessAccountId, targetSignerIdentity, signerType, password, }: AddBusinessAccountSignerInput) => Promise<{
        shareSetId: string;
    }>;
    addWalletToBusinessAccount: (input: AddWalletToBusinessAccountInput) => Promise<any>;
    createBusinessAccount: (input?: CreateBusinessAccountInput) => Promise<any>;
    createWalletForBusinessAccount: ({ businessAccountId, chainName, thresholdSignatureScheme, password, }: CreateWalletForBusinessAccountInput) => Promise<{
        accountAddress: string;
        publicKeyHex: string;
        rawPublicKey: string | Uint8Array | undefined;
    }>;
    defaultChainName: string | undefined;
    enabledChainNames: string[];
    getBusinessAccount: (businessAccountId: string) => Promise<any>;
    listBusinessAccounts: () => Promise<any>;
    listMyWalletAccounts: () => Promise<any>;
};
