import { KmsCreateKeyOptions, KmsCreateKeyTypeAsymmetric } from "../../../kms/options/KmsCreateKeyOptions.mjs";
import { XOR } from "../../../../types.mjs";
import "../../../kms/index.mjs";
import { DidRegistrar } from "../../domain/DidRegistrar.mjs";
import { DidCreateOptions, DidCreateResult, DidDeactivateResult, DidUpdateResult } from "../../types.mjs";
import { AgentContext } from "../../../../agent/context/AgentContext.mjs";
import "../../../../agent/index.mjs";
//#region src/modules/dids/methods/key/KeyDidRegistrar.d.ts
export declare class KeyDidRegistrar implements DidRegistrar {
  readonly supportedMethods: string[];
  create(agentContext: AgentContext, options: KeyDidCreateOptions): Promise<DidCreateResult>;
  update(): Promise<DidUpdateResult>;
  deactivate(): Promise<DidDeactivateResult>;
}
export interface KeyDidCreateOptions extends DidCreateOptions {
  method: 'key';
  did?: never;
  didDocument?: never;
  secret?: never;
  /**
   * You can create a did:key based on an existing `keyId`, or provide `createKey` options
   * to create a new key.
   */
  options: XOR<{
    createKey: KmsCreateKeyOptions<KmsCreateKeyTypeAsymmetric>;
  }, {
    keyId: string;
  }>;
}
export type KeyDidUpdateOptions = never;
export type KeyDidDeactivateOptions = never;
//#endregion
//# sourceMappingURL=KeyDidRegistrar.d.mts.map