/**
 * Certificate types and schemas for Cardano Conway-era transactions.
 *
 * @module Certificate
 * @since 2.0.0
 */
import { Equal, FastCheck, Hash, Inspectable, Schema } from "effect";
import * as Anchor from "./Anchor.js";
import * as CBOR from "./CBOR.js";
import * as DRep from "./DRep.js";
import * as PoolKeyHash from "./PoolKeyHash.js";
import * as PoolParams from "./PoolParams.js";
declare const StakeRegistration_base: Schema.TaggedClass<StakeRegistration, "StakeRegistration", {
    readonly _tag: Schema.tag<"StakeRegistration">;
} & {
    stakeCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
}>;
/**
 * Register a stake credential (CDDL: stake_registration = 0).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class StakeRegistration extends StakeRegistration_base {
    toJSON(): {
        _tag: "StakeRegistration";
        stakeCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const StakeDeregistration_base: Schema.TaggedClass<StakeDeregistration, "StakeDeregistration", {
    readonly _tag: Schema.tag<"StakeDeregistration">;
} & {
    stakeCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
}>;
/**
 * Deregister a stake credential (CDDL: stake_deregistration = 1).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class StakeDeregistration extends StakeDeregistration_base {
    toJSON(): {
        _tag: "StakeDeregistration";
        stakeCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const StakeDelegation_base: Schema.TaggedClass<StakeDelegation, "StakeDelegation", {
    readonly _tag: Schema.tag<"StakeDelegation">;
} & {
    stakeCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    poolKeyHash: typeof PoolKeyHash.PoolKeyHash;
}>;
/**
 * Delegate stake to a pool (CDDL: stake_delegation = 2).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class StakeDelegation extends StakeDelegation_base {
    toJSON(): {
        _tag: "StakeDelegation";
        stakeCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        poolKeyHash: {
            _tag: "PoolKeyHash";
            hash: string;
        };
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const PoolRegistration_base: Schema.TaggedClass<PoolRegistration, "PoolRegistration", {
    readonly _tag: Schema.tag<"PoolRegistration">;
} & {
    poolParams: typeof PoolParams.PoolParams;
}>;
/**
 * Register a stake pool (CDDL: pool_registration = 3).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class PoolRegistration extends PoolRegistration_base {
    toJSON(): {
        _tag: "PoolRegistration";
        poolParams: {
            _tag: "PoolParams";
            operator: {
                _tag: "PoolKeyHash";
                hash: string;
            };
            vrfKeyhash: {
                _tag: "VrfKeyHash";
                hash: string;
            };
            pledge: string;
            cost: string;
            margin: {
                numerator: string;
                denominator: string;
            };
            rewardAccount: {
                _tag: "RewardAccount";
                networkId: number;
                stakeCredential: import("./KeyHash.js").KeyHash | import("./ScriptHash.js").ScriptHash;
            };
            poolOwners: {
                _tag: "KeyHash";
                hash: string;
            }[];
            relays: ({
                _tag: "MultiHostName";
                dnsName: string & import("effect/Brand").Brand<"DnsName">;
            } | {
                _tag: "SingleHostAddr";
                port: string | null;
                ipv4: {
                    _tag: "IPv4";
                    bytes: string;
                } | null;
                ipv6: {
                    _tag: "IPv6";
                    bytes: string;
                } | null;
            } | {
                _tag: "SingleHostName";
                port: string | null;
                dnsName: string & import("effect/Brand").Brand<"DnsName">;
            })[];
            poolMetadata: {
                _tag: "PoolMetadata";
                url: string;
                hash: string;
            } | null;
        };
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const PoolRetirement_base: Schema.TaggedClass<PoolRetirement, "PoolRetirement", {
    readonly _tag: Schema.tag<"PoolRetirement">;
} & {
    poolKeyHash: typeof PoolKeyHash.PoolKeyHash;
    epoch: Schema.refine<bigint, typeof Schema.BigInt>;
}>;
/**
 * Retire a stake pool at a given epoch (CDDL: pool_retirement = 4).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class PoolRetirement extends PoolRetirement_base {
    toJSON(): {
        _tag: "PoolRetirement";
        poolKeyHash: {
            _tag: "PoolKeyHash";
            hash: string;
        };
        epoch: string;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const RegCert_base: Schema.TaggedClass<RegCert, "RegCert", {
    readonly _tag: Schema.tag<"RegCert">;
} & {
    stakeCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    coin: Schema.refine<bigint, typeof Schema.BigInt>;
}>;
/**
 * Conway-era stake registration with deposit (CDDL: reg_cert = 7).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class RegCert extends RegCert_base {
    toJSON(): {
        _tag: "RegCert";
        stakeCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        coin: string;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const UnregCert_base: Schema.TaggedClass<UnregCert, "UnregCert", {
    readonly _tag: Schema.tag<"UnregCert">;
} & {
    stakeCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    coin: Schema.refine<bigint, typeof Schema.BigInt>;
}>;
/**
 * Conway-era stake deregistration with deposit refund (CDDL: unreg_cert = 8).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class UnregCert extends UnregCert_base {
    toJSON(): {
        _tag: "UnregCert";
        stakeCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        coin: string;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const VoteDelegCert_base: Schema.TaggedClass<VoteDelegCert, "VoteDelegCert", {
    readonly _tag: Schema.tag<"VoteDelegCert">;
} & {
    stakeCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    drep: Schema.Union<[typeof DRep.KeyHashDRep, typeof DRep.ScriptHashDRep, typeof DRep.AlwaysAbstainDRep, typeof DRep.AlwaysNoConfidenceDRep]>;
}>;
/**
 * Delegate voting rights to a DRep (CDDL: vote_deleg_cert = 9).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class VoteDelegCert extends VoteDelegCert_base {
    toJSON(): {
        _tag: "VoteDelegCert";
        stakeCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        drep: DRep.KeyHashDRep | DRep.ScriptHashDRep | DRep.AlwaysAbstainDRep | DRep.AlwaysNoConfidenceDRep;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const StakeVoteDelegCert_base: Schema.TaggedClass<StakeVoteDelegCert, "StakeVoteDelegCert", {
    readonly _tag: Schema.tag<"StakeVoteDelegCert">;
} & {
    stakeCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    poolKeyHash: typeof PoolKeyHash.PoolKeyHash;
    drep: Schema.Union<[typeof DRep.KeyHashDRep, typeof DRep.ScriptHashDRep, typeof DRep.AlwaysAbstainDRep, typeof DRep.AlwaysNoConfidenceDRep]>;
}>;
/**
 * Delegate stake to a pool and voting rights to a DRep (CDDL: stake_vote_deleg_cert = 10).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class StakeVoteDelegCert extends StakeVoteDelegCert_base {
    toJSON(): {
        _tag: "StakeVoteDelegCert";
        stakeCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        poolKeyHash: {
            _tag: "PoolKeyHash";
            hash: string;
        };
        drep: DRep.KeyHashDRep | DRep.ScriptHashDRep | DRep.AlwaysAbstainDRep | DRep.AlwaysNoConfidenceDRep;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const StakeRegDelegCert_base: Schema.TaggedClass<StakeRegDelegCert, "StakeRegDelegCert", {
    readonly _tag: Schema.tag<"StakeRegDelegCert">;
} & {
    stakeCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    poolKeyHash: typeof PoolKeyHash.PoolKeyHash;
    coin: Schema.refine<bigint, typeof Schema.BigInt>;
}>;
/**
 * Register stake and delegate to a pool in one certificate (CDDL: stake_reg_deleg_cert = 11).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class StakeRegDelegCert extends StakeRegDelegCert_base {
    toJSON(): {
        _tag: "StakeRegDelegCert";
        stakeCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        poolKeyHash: {
            _tag: "PoolKeyHash";
            hash: string;
        };
        coin: string;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const VoteRegDelegCert_base: Schema.TaggedClass<VoteRegDelegCert, "VoteRegDelegCert", {
    readonly _tag: Schema.tag<"VoteRegDelegCert">;
} & {
    stakeCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    drep: Schema.Union<[typeof DRep.KeyHashDRep, typeof DRep.ScriptHashDRep, typeof DRep.AlwaysAbstainDRep, typeof DRep.AlwaysNoConfidenceDRep]>;
    coin: Schema.refine<bigint, typeof Schema.BigInt>;
}>;
/**
 * Register stake and delegate voting rights to a DRep (CDDL: vote_reg_deleg_cert = 12).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class VoteRegDelegCert extends VoteRegDelegCert_base {
    toJSON(): {
        _tag: "VoteRegDelegCert";
        stakeCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        drep: DRep.KeyHashDRep | DRep.ScriptHashDRep | DRep.AlwaysAbstainDRep | DRep.AlwaysNoConfidenceDRep;
        coin: string;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const StakeVoteRegDelegCert_base: Schema.TaggedClass<StakeVoteRegDelegCert, "StakeVoteRegDelegCert", {
    readonly _tag: Schema.tag<"StakeVoteRegDelegCert">;
} & {
    stakeCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    poolKeyHash: typeof PoolKeyHash.PoolKeyHash;
    drep: Schema.Union<[typeof DRep.KeyHashDRep, typeof DRep.ScriptHashDRep, typeof DRep.AlwaysAbstainDRep, typeof DRep.AlwaysNoConfidenceDRep]>;
    coin: Schema.refine<bigint, typeof Schema.BigInt>;
}>;
/**
 * Register stake, delegate to a pool, and delegate voting rights to a DRep (CDDL: stake_vote_reg_deleg_cert = 13).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class StakeVoteRegDelegCert extends StakeVoteRegDelegCert_base {
    toJSON(): {
        _tag: "StakeVoteRegDelegCert";
        stakeCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        poolKeyHash: {
            _tag: "PoolKeyHash";
            hash: string;
        };
        drep: DRep.KeyHashDRep | DRep.ScriptHashDRep | DRep.AlwaysAbstainDRep | DRep.AlwaysNoConfidenceDRep;
        coin: string;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const AuthCommitteeHotCert_base: Schema.TaggedClass<AuthCommitteeHotCert, "AuthCommitteeHotCert", {
    readonly _tag: Schema.tag<"AuthCommitteeHotCert">;
} & {
    committeeColdCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    committeeHotCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
}>;
/**
 * Authorize a committee hot credential (CDDL: auth_committee_hot_cert = 14).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class AuthCommitteeHotCert extends AuthCommitteeHotCert_base {
    toJSON(): {
        _tag: "AuthCommitteeHotCert";
        committeeColdCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        committeeHotCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const ResignCommitteeColdCert_base: Schema.TaggedClass<ResignCommitteeColdCert, "ResignCommitteeColdCert", {
    readonly _tag: Schema.tag<"ResignCommitteeColdCert">;
} & {
    committeeColdCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    anchor: Schema.NullishOr<typeof Anchor.Anchor>;
}>;
/**
 * Resign a committee cold credential (CDDL: resign_committee_cold_cert = 15).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class ResignCommitteeColdCert extends ResignCommitteeColdCert_base {
    toJSON(): {
        _tag: "ResignCommitteeColdCert";
        committeeColdCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        anchor: Anchor.Anchor | null | undefined;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const RegDrepCert_base: Schema.TaggedClass<RegDrepCert, "RegDrepCert", {
    readonly _tag: Schema.tag<"RegDrepCert">;
} & {
    drepCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    coin: Schema.refine<bigint, typeof Schema.BigInt>;
    anchor: Schema.NullishOr<typeof Anchor.Anchor>;
}>;
/**
 * Register as a DRep (CDDL: reg_drep_cert = 16).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class RegDrepCert extends RegDrepCert_base {
    toJSON(): {
        _tag: "RegDrepCert";
        drepCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        coin: string;
        anchor: Anchor.Anchor | null | undefined;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const UnregDrepCert_base: Schema.TaggedClass<UnregDrepCert, "UnregDrepCert", {
    readonly _tag: Schema.tag<"UnregDrepCert">;
} & {
    drepCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    coin: Schema.refine<bigint, typeof Schema.BigInt>;
}>;
/**
 * Unregister as a DRep (CDDL: unreg_drep_cert = 17).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class UnregDrepCert extends UnregDrepCert_base {
    toJSON(): {
        _tag: "UnregDrepCert";
        drepCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        coin: string;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
declare const UpdateDrepCert_base: Schema.TaggedClass<UpdateDrepCert, "UpdateDrepCert", {
    readonly _tag: Schema.tag<"UpdateDrepCert">;
} & {
    drepCredential: Schema.Union<[typeof import("./KeyHash.js").KeyHash, typeof import("./ScriptHash.js").ScriptHash]>;
    anchor: Schema.NullishOr<typeof Anchor.Anchor>;
}>;
/**
 * Update DRep metadata anchor (CDDL: update_drep_cert = 18).
 *
 * @since 2.0.0
 * @category certificate
 */
export declare class UpdateDrepCert extends UpdateDrepCert_base {
    toJSON(): {
        _tag: "UpdateDrepCert";
        drepCredential: {
            _tag: "KeyHash";
            hash: string;
        } | {
            _tag: "ScriptHash";
            hash: string;
        };
        anchor: Anchor.Anchor | null | undefined;
    };
    toString(): string;
    [Inspectable.NodeInspectSymbol](): unknown;
    [Equal.symbol](that: unknown): boolean;
    [Hash.symbol](): number;
}
/**
 * Certificate union schema based on Conway CDDL specification
 *
 * CDDL: certificate =
 *   [
 *   stake_registration
 *   // stake_deregistration
 *   // stake_delegation
 *   // pool_registration
 *   // pool_retirement
 *   // reg_cert
 *   // unreg_cert
 *   // vote_deleg_cert
 *   // stake_vote_deleg_cert
 *   // stake_reg_deleg_cert
 *   // vote_reg_deleg_cert
 *   // stake_vote_reg_deleg_cert
 *   // auth_committee_hot_cert
 *   // resign_committee_cold_cert
 *   // reg_drep_cert
 *   // unreg_drep_cert
 *   // update_drep_cert
 *   ]
 *
 * stake_registration = (0, stake_credential)
 * stake_deregistration = (1, stake_credential)
 * stake_delegation = (2, stake_credential, pool_keyhash)
 * pool_registration = (3, pool_params)
 * pool_retirement = (4, pool_keyhash, epoch_no)
 * reg_cert = (7, stake_credential, coin)
 * unreg_cert = (8, stake_credential, coin)
 * vote_deleg_cert = (9, stake_credential, drep)
 * stake_vote_deleg_cert = (10, stake_credential, pool_keyhash, drep)
 * stake_reg_deleg_cert = (11, stake_credential, pool_keyhash, coin)
 * vote_reg_deleg_cert = (12, stake_credential, drep, coin)
 * stake_vote_reg_deleg_cert = (13, stake_credential, pool_keyhash, drep, coin)
 * auth_committee_hot_cert = (14, committee_cold_credential, committee_hot_credential)
 * resign_committee_cold_cert = (15, committee_cold_credential, anchor/ nil)
 * reg_drep_cert = (16, drep_credential, coin, anchor/ nil)
 * unreg_drep_cert = (17, drep_credential, coin)
 * update_drep_cert = (18, drep_credential, anchor/ nil)
 *
 * @since 2.0.0
 * @category schemas
 */
export declare const Certificate: Schema.Union<[typeof StakeRegistration, typeof StakeDeregistration, typeof StakeDelegation, typeof PoolRegistration, typeof PoolRetirement, typeof RegCert, typeof UnregCert, typeof VoteDelegCert, typeof StakeVoteDelegCert, typeof StakeRegDelegCert, typeof VoteRegDelegCert, typeof StakeVoteRegDelegCert, typeof AuthCommitteeHotCert, typeof ResignCommitteeColdCert, typeof RegDrepCert, typeof UnregDrepCert, typeof UpdateDrepCert]>;
export declare const CDDLSchema: Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>>, Schema.Tuple2<Schema.Literal<[1n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>>, Schema.Tuple<[Schema.Literal<[2n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf]>, Schema.Tuple<[Schema.Literal<[3n]>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf, Schema.TaggedStruct<"Tag", {
    tag: Schema.Literal<[30]>;
    value: Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>;
}>, typeof Schema.Uint8ArrayFromSelf, Schema.Array$<typeof Schema.Uint8ArrayFromSelf>, Schema.Array$<Schema.SchemaClass<readonly [2n, string] | readonly [0n, bigint | null, Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null] | readonly [1n, bigint | null, string], readonly [2n, string] | readonly [0n, bigint | null, Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null] | readonly [1n, bigint | null, string], never>>, Schema.NullOr<Schema.SchemaClass<readonly [string, Uint8Array<ArrayBufferLike>], readonly [string, Uint8Array<ArrayBufferLike>], never>>]>, Schema.Tuple<[Schema.Literal<[4n]>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[7n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[8n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[9n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>]>, Schema.Tuple<[Schema.Literal<[10n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>]>, Schema.Tuple<[Schema.Literal<[11n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[12n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[13n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[14n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>]>, Schema.Tuple<[Schema.Literal<[15n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>, Schema.Tuple<[Schema.Literal<[16n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>, Schema.Tuple<[Schema.Literal<[17n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[18n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>]>;
/**
 * CDDL schema for Certificate based on Conway specification.
 *
 * Transforms between CBOR tuple representation and Certificate union.
 * Each certificate type is encoded as [type_id, ...fields]
 *
 * @since 2.0.0
 * @category schemas
 */
export declare const FromCDDL: Schema.transformOrFail<Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>>, Schema.Tuple2<Schema.Literal<[1n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>>, Schema.Tuple<[Schema.Literal<[2n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf]>, Schema.Tuple<[Schema.Literal<[3n]>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf, Schema.TaggedStruct<"Tag", {
    tag: Schema.Literal<[30]>;
    value: Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>;
}>, typeof Schema.Uint8ArrayFromSelf, Schema.Array$<typeof Schema.Uint8ArrayFromSelf>, Schema.Array$<Schema.SchemaClass<readonly [2n, string] | readonly [0n, bigint | null, Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null] | readonly [1n, bigint | null, string], readonly [2n, string] | readonly [0n, bigint | null, Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null] | readonly [1n, bigint | null, string], never>>, Schema.NullOr<Schema.SchemaClass<readonly [string, Uint8Array<ArrayBufferLike>], readonly [string, Uint8Array<ArrayBufferLike>], never>>]>, Schema.Tuple<[Schema.Literal<[4n]>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[7n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[8n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[9n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>]>, Schema.Tuple<[Schema.Literal<[10n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>]>, Schema.Tuple<[Schema.Literal<[11n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[12n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[13n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[14n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>]>, Schema.Tuple<[Schema.Literal<[15n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>, Schema.Tuple<[Schema.Literal<[16n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>, Schema.Tuple<[Schema.Literal<[17n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[18n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>]>, Schema.SchemaClass<StakeRegistration | StakeDeregistration | StakeDelegation | PoolRegistration | PoolRetirement | RegCert | UnregCert | VoteDelegCert | StakeVoteDelegCert | StakeRegDelegCert | VoteRegDelegCert | StakeVoteRegDelegCert | AuthCommitteeHotCert | ResignCommitteeColdCert | RegDrepCert | UnregDrepCert | UpdateDrepCert, StakeRegistration | StakeDeregistration | StakeDelegation | PoolRegistration | PoolRetirement | RegCert | UnregCert | VoteDelegCert | StakeVoteDelegCert | StakeRegDelegCert | VoteRegDelegCert | StakeVoteRegDelegCert | AuthCommitteeHotCert | ResignCommitteeColdCert | RegDrepCert | UnregDrepCert | UpdateDrepCert, never>, never>;
/**
 * CBOR bytes transformation schema for Certificate.
 *
 * @since 2.0.0
 * @category schemas
 */
export declare const FromCBORBytes: (options?: CBOR.CodecOptions) => Schema.transform<Schema.transformOrFail<typeof Schema.Uint8ArrayFromSelf, Schema.declare<CBOR.CBOR, CBOR.CBOR, readonly [], never>, never>, Schema.transformOrFail<Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>>, Schema.Tuple2<Schema.Literal<[1n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>>, Schema.Tuple<[Schema.Literal<[2n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf]>, Schema.Tuple<[Schema.Literal<[3n]>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf, Schema.TaggedStruct<"Tag", {
    tag: Schema.Literal<[30]>;
    value: Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>;
}>, typeof Schema.Uint8ArrayFromSelf, Schema.Array$<typeof Schema.Uint8ArrayFromSelf>, Schema.Array$<Schema.SchemaClass<readonly [2n, string] | readonly [0n, bigint | null, Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null] | readonly [1n, bigint | null, string], readonly [2n, string] | readonly [0n, bigint | null, Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null] | readonly [1n, bigint | null, string], never>>, Schema.NullOr<Schema.SchemaClass<readonly [string, Uint8Array<ArrayBufferLike>], readonly [string, Uint8Array<ArrayBufferLike>], never>>]>, Schema.Tuple<[Schema.Literal<[4n]>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[7n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[8n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[9n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>]>, Schema.Tuple<[Schema.Literal<[10n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>]>, Schema.Tuple<[Schema.Literal<[11n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[12n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[13n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[14n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>]>, Schema.Tuple<[Schema.Literal<[15n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>, Schema.Tuple<[Schema.Literal<[16n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>, Schema.Tuple<[Schema.Literal<[17n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[18n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>]>, Schema.SchemaClass<StakeRegistration | StakeDeregistration | StakeDelegation | PoolRegistration | PoolRetirement | RegCert | UnregCert | VoteDelegCert | StakeVoteDelegCert | StakeRegDelegCert | VoteRegDelegCert | StakeVoteRegDelegCert | AuthCommitteeHotCert | ResignCommitteeColdCert | RegDrepCert | UnregDrepCert | UpdateDrepCert, StakeRegistration | StakeDeregistration | StakeDelegation | PoolRegistration | PoolRetirement | RegCert | UnregCert | VoteDelegCert | StakeVoteDelegCert | StakeRegDelegCert | VoteRegDelegCert | StakeVoteRegDelegCert | AuthCommitteeHotCert | ResignCommitteeColdCert | RegDrepCert | UnregDrepCert | UpdateDrepCert, never>, never>>;
/**
 * CBOR hex transformation schema for Certificate.
 *
 * @since 2.0.0
 * @category schemas
 */
export declare const FromCBORHex: (options?: CBOR.CodecOptions) => Schema.transform<Schema.Schema<Uint8Array<ArrayBufferLike>, string, never>, Schema.transform<Schema.transformOrFail<typeof Schema.Uint8ArrayFromSelf, Schema.declare<CBOR.CBOR, CBOR.CBOR, readonly [], never>, never>, Schema.transformOrFail<Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>>, Schema.Tuple2<Schema.Literal<[1n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>>, Schema.Tuple<[Schema.Literal<[2n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf]>, Schema.Tuple<[Schema.Literal<[3n]>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf, Schema.TaggedStruct<"Tag", {
    tag: Schema.Literal<[30]>;
    value: Schema.Tuple2<typeof Schema.BigIntFromSelf, typeof Schema.BigIntFromSelf>;
}>, typeof Schema.Uint8ArrayFromSelf, Schema.Array$<typeof Schema.Uint8ArrayFromSelf>, Schema.Array$<Schema.SchemaClass<readonly [2n, string] | readonly [0n, bigint | null, Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null] | readonly [1n, bigint | null, string], readonly [2n, string] | readonly [0n, bigint | null, Uint8Array<ArrayBufferLike> | null, Uint8Array<ArrayBufferLike> | null] | readonly [1n, bigint | null, string], never>>, Schema.NullOr<Schema.SchemaClass<readonly [string, Uint8Array<ArrayBufferLike>], readonly [string, Uint8Array<ArrayBufferLike>], never>>]>, Schema.Tuple<[Schema.Literal<[4n]>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[7n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[8n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[9n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>]>, Schema.Tuple<[Schema.Literal<[10n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>]>, Schema.Tuple<[Schema.Literal<[11n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[12n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[13n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.Uint8ArrayFromSelf, Schema.Union<[Schema.Tuple2<Schema.Literal<[0n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple<[Schema.Literal<[2n]>]>, Schema.Tuple<[Schema.Literal<[3n]>]>]>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[14n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>]>, Schema.Tuple<[Schema.Literal<[15n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>, Schema.Tuple<[Schema.Literal<[16n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>, Schema.Tuple<[Schema.Literal<[17n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, typeof Schema.BigIntFromSelf]>, Schema.Tuple<[Schema.Literal<[18n]>, Schema.Tuple2<Schema.Literal<[0n, 1n]>, typeof Schema.Uint8ArrayFromSelf>, Schema.NullishOr<Schema.Tuple2<typeof Schema.String, typeof Schema.Uint8ArrayFromSelf>>]>]>, Schema.SchemaClass<StakeRegistration | StakeDeregistration | StakeDelegation | PoolRegistration | PoolRetirement | RegCert | UnregCert | VoteDelegCert | StakeVoteDelegCert | StakeRegDelegCert | VoteRegDelegCert | StakeVoteRegDelegCert | AuthCommitteeHotCert | ResignCommitteeColdCert | RegDrepCert | UnregDrepCert | UpdateDrepCert, StakeRegistration | StakeDeregistration | StakeDelegation | PoolRegistration | PoolRetirement | RegCert | UnregCert | VoteDelegCert | StakeVoteDelegCert | StakeRegDelegCert | VoteRegDelegCert | StakeVoteRegDelegCert | AuthCommitteeHotCert | ResignCommitteeColdCert | RegDrepCert | UnregDrepCert | UpdateDrepCert, never>, never>>>;
/**
 * Type alias for Certificate.
 *
 * @since 2.0.0
 * @category model
 */
export type Certificate = typeof Certificate.Type;
/**
 * Check if the given value is a valid Certificate.
 *
 * @since 2.0.0
 * @category predicates
 */
export declare const is: (u: unknown, overrideOptions?: import("effect/SchemaAST").ParseOptions | number) => u is StakeRegistration | StakeDeregistration | StakeDelegation | PoolRegistration | PoolRetirement | RegCert | UnregCert | VoteDelegCert | StakeVoteDelegCert | StakeRegDelegCert | VoteRegDelegCert | StakeVoteRegDelegCert | AuthCommitteeHotCert | ResignCommitteeColdCert | RegDrepCert | UnregDrepCert | UpdateDrepCert;
/**
 * FastCheck arbitrary for Certificate instances.
 *
 * @since 2.0.0
 * @category testing
 */
export declare const arbitrary: FastCheck.Arbitrary<StakeRegistration | StakeDeregistration | StakeDelegation | PoolRegistration | PoolRetirement | RegCert | UnregCert | VoteDelegCert | StakeVoteDelegCert | StakeRegDelegCert | VoteRegDelegCert | StakeVoteRegDelegCert | AuthCommitteeHotCert | ResignCommitteeColdCert | RegDrepCert | UnregDrepCert | UpdateDrepCert>;
/**
 * Parse a Certificate from CBOR bytes.
 *
 * @since 2.0.0
 * @category parsing
 */
export declare const fromCBORBytes: (bytes: Uint8Array, options?: CBOR.CodecOptions) => Certificate;
/**
 * Parse a Certificate from CBOR hex string.
 *
 * @since 2.0.0
 * @category parsing
 */
export declare const fromCBORHex: (hex: string, options?: CBOR.CodecOptions) => Certificate;
/**
 * Convert a Certificate to CBOR bytes.
 *
 * @since 2.0.0
 * @category encoding
 */
export declare const toCBORBytes: (certificate: Certificate, options?: CBOR.CodecOptions) => Uint8Array;
/**
 * Convert a Certificate to CBOR hex string.
 *
 * @since 2.0.0
 * @category encoding
 */
export declare const toCBORHex: (certificate: Certificate, options?: CBOR.CodecOptions) => string;
export {};
//# sourceMappingURL=Certificate.d.ts.map