export function did(): Schema.StringSchema<`did:${string}:${string}` & `did:${string}` & API.Phantom<{
    protocol: "did:";
}>, unknown>;
export function read(input: unknown): API.Result<`did:${string}:${string}` & `did:${string}` & API.Phantom<{
    protocol: "did:";
}>, API.Failure>;
export function match<Method extends string>(options?: {
    method?: Method | undefined;
}): Schema.Schema<`did:${Method}:${string}` & `did:${string}` & API.Phantom<{
    protocol: "did:";
}>, any>;
export function from(input: unknown): `did:${string}:${string}` & `did:${string}` & API.Phantom<{
    protocol: "did:";
}>;
export function didBytes(): DIDBytesSchema<string>;
export function readBytes(input: unknown): Schema.ReadResult<`did:${string}:${string}` & `did:${string}` & API.Phantom<{
    protocol: "did:";
}>, API.Failure>;
export function matchBytes<Method extends string>(options?: {
    method?: Method | undefined;
}): Schema.Schema<`did:${Method}:${string}` & `did:${string}` & API.Phantom<{
    protocol: "did:";
}>, any>;
export function fromBytes(input: unknown): `did:${string}:${string}` & `did:${string}` & API.Phantom<{
    protocol: "did:";
}>;
import * as API from '@ucanto/interface';
import * as Schema from './schema.js';
/**
 * @template {string} Method
 * @extends {Schema.API<API.DID<Method> & API.URI<"did:">, unknown, void|Method>}
 */
declare class DIDBytesSchema<Method extends string> extends Schema.API<`did:${Method}:${string}` & `did:${string}` & API.Phantom<{
    protocol: "did:";
}>, unknown, void | Method> {
    constructor(settings: void | Method);
    /**
     * @param {unknown} source
     * @param {void|Method} method
     */
    readWith(source: unknown, method: void | Method): {
        error: API.Failure;
    } | {
        ok: `did:${Method}:${string}`;
    };
}
export {};
//# sourceMappingURL=did.d.ts.map