import { Context, Identity, NumberedPortfolio, RegisterIdentityParams } from "./internal";
import { ProcedureMethod } from "./types";
/**
 * Handles all Identity related functionality
 */
export declare class Identities {
    private context;
    /**
     * @hidden
     */
    constructor(context: Context);
    /**
     * Register an Identity
     *
     * @note must be a CDD provider
     * @note this may create {@link AuthorizationRequest | Authorization Requests} which have to be accepted by the `targetAccount`.
     *   An {@link Account} or {@link Identity} can fetch its pending Authorization Requests by calling {@link Authorizations.getReceived | authorizations.getReceived}.
     *   Also, an Account or Identity can directly fetch the details of an Authorization Request by calling {@link Authorizations.getOne | authorizations.getOne}
     *
     * @note required role:
     *   - Customer Due Diligence Provider
     */
    registerIdentity: ProcedureMethod<RegisterIdentityParams, Identity>;
    /**
     * Create a new Portfolio under the ownership of the signing Identity
     */
    createPortfolio: ProcedureMethod<{
        name: string;
    }, NumberedPortfolio>;
    /**
     * Create an Identity instance from a DID
     *
     * @throws if there is no Identity with the passed DID
     */
    getIdentity(args: {
        did: string;
    }): Promise<Identity>;
    /**
     * Return whether the supplied Identity/DID exists
     */
    isIdentityValid(args: {
        identity: Identity | string;
    }): Promise<boolean>;
}
//# sourceMappingURL=Identities.d.ts.map