import { Name } from '@wharfkit/antelope';
import { TonomyUsername } from './username';
import { VCWithTypeType, VerifiableCredentialOptions, VerifiableCredentialWithType } from './ssi/vc';
import { Issuer } from '@tonomy/did-jwt-vc';
export declare class WalletRequestResponse<T extends object = any> extends VerifiableCredentialWithType<T> {
    protected static type: string;
    /**
     * @inheritdoc override me if the payload type requires ad-hoc decoding
     */
    constructor(vc: VCWithTypeType<T>);
    /**
     * Alternative constructor that returns type WalletRequestResponse. To be used in derived classes
     *
     * @access protected
     *
     * @param {object} payload the payload
     * @param {Issuer} issuer the issuer id
     * @param {VerifiableCredentialOptions} options the options
     *
     * @returns a WalletRequestResponse object
     */
    protected static signWalletResponse<T extends object = object>(payload: T, issuer: Issuer, options?: VerifiableCredentialOptions): Promise<WalletRequestResponse<T>>;
}
type LoginRequestResponsePayload = {
    accountName: Name;
};
export declare class LoginRequestResponse extends WalletRequestResponse<LoginRequestResponsePayload> {
    protected static type: string;
    /**
     * @override the VerifiableCredentialWithType constructor to decode the payload of type LoginRequestPayload
     */
    constructor(vc: LoginRequestResponse | VCWithTypeType<LoginRequestResponsePayload>);
    /**
     * Alternative constructor that returns type LoginRequestResponse
     */
    static signResponse(payload: LoginRequestResponsePayload, issuer: Issuer, options?: VerifiableCredentialOptions): Promise<LoginRequestResponse>;
}
export type DataSharingRequestResponseData = {
    username?: TonomyUsername;
};
export type DataSharingRequestResponsePayload = {
    data: DataSharingRequestResponseData;
};
export declare class DataRequestResponse extends WalletRequestResponse<DataSharingRequestResponsePayload> {
    protected static type: string;
    /**
     * @override the VerifiableCredentialWithType constructor to decode the payload of type DataSharingRequestResponsePayload
     */
    constructor(vc: DataRequestResponse | VCWithTypeType<DataSharingRequestResponsePayload>);
    /**
     * Alternative constructor that returns type DataRequestResponse
     */
    static signResponse(payload: DataSharingRequestResponsePayload, issuer: Issuer, options?: VerifiableCredentialOptions): Promise<DataRequestResponse>;
}
export {};
//# sourceMappingURL=response.d.ts.map