import { Name } from '@wharfkit/antelope';
import { App, Communication, IdentifyMessage, KeyManager, LoginRequestResponseMessage, StorageFactory, Subscriber, DualWalletRequests, DualWalletResponse } from '../../src/sdk';
import { ExternalUser } from '../../src/api/externalUser';
import { ExternalUserLoginTestOptions } from '../externalUser.integration.test';
import { IUserPublic } from './user';
export declare function externalWebsiteUserPressLoginToTonomyButton(keyManager: KeyManager, loginAppOrigin: string, testOptions: ExternalUserLoginTestOptions): Promise<{
    did: string;
    redirectUrl: string;
}>;
export declare function loginWebsiteOnRedirect(externalWebsiteDid: string, keyManager: KeyManager): Promise<{
    did: string;
    requests: DualWalletRequests;
    communication: Communication;
}>;
export declare function setupTonomyIdIdentifySubscriber(did: string): Promise<{
    subscriber: Subscriber;
    promise: Promise<IdentifyMessage>;
}>;
export declare function setupTonomyIdRequestConfirmSubscriber(did: string): Promise<{
    subscriber: Subscriber;
    promise: Promise<LoginRequestResponseMessage>;
}>;
export declare function sendLoginRequestsMessage(requests: DualWalletRequests, keyManager: KeyManager, communication: Communication, recipientDid: string): Promise<void>;
export declare function loginWebsiteOnCallback(keyManager: KeyManager, storageFactory: StorageFactory): Promise<{
    responses: DualWalletResponse;
}>;
export declare function externalWebsiteOnCallback(keyManager: KeyManager, storageFactory: StorageFactory, accountName: Name): Promise<ExternalUser>;
export declare function externalWebsiteOnReload(keyManager: KeyManager, storageFactory: StorageFactory, tonomyUser: IUserPublic): Promise<ExternalUser>;
export declare function externalWebsiteSignVc(externalUser: ExternalUser): Promise<void>;
export declare function externalWebsiteSignTransaction(externalUser: ExternalUser, externalApp: App): Promise<void>;
export declare function externalWebsiteClientAuth(externalUser: ExternalUser, externalApp: App, options: ExternalUserLoginTestOptions): Promise<void>;
export declare function setupLinkAuthSubscriber(user: IUserPublic): Promise<void>;
export declare function externalWebsiteOnLogout(keyManager: KeyManager, storageFactory: StorageFactory): Promise<void>;
//# sourceMappingURL=externalUser.d.ts.map