import { ParentPlugin, DMZ } from "@kirby-web3/parent-core";
import { EthereumParentPlugin } from "@kirby-web3/plugin-ethereum";
export declare const IDENTITY_LOGIN_REQUEST = "IDENTITY_LOGIN_REQUEST";
export declare const IDENTITY_LOGIN_RESPONSE = "IDENTITY_LOGIN_RESPONSE";
export declare const IDENTITY_SIGNUP_REQUEST = "IDENTITY_SIGNUP_REQUEST";
export interface LoginRequest {
    service: string;
    challenge: string;
}
export interface LoginResponse {
    did: string;
}
export declare type IdentityPluginState = any;
export interface IdentityLoginRequestAction {
    type: typeof IDENTITY_LOGIN_REQUEST;
    payload: LoginRequest;
}
export declare type IdentityPluginActions = IdentityLoginRequestAction;
export interface Config {
    readOnlyNodeURI: string;
}
export interface ParentDependencies {
    ethereum: EthereumParentPlugin;
    dmz: DMZ;
}
export declare class IdentityParentPlugin extends ParentPlugin<Config, ParentDependencies, IdentityPluginActions> {
    name: string;
    dependsOn: string[];
    web3: any;
    provider: any;
    reducer(state: any, action: any): any;
    login(service: string): Promise<void>;
    signup(service: string): Promise<void>;
}
