import { Bytes } from "../../../chain/Bytes.js";
import { Checksum256 } from "../../../chain/Checksum.js";
import { UInt32, UInt8 } from "../../../chain/Integer.js";
import { Name } from "../../../chain/Name.js";
import { PermissionLevel } from "../../../chain/PermissionLevel.js";
import { Struct } from "../../../chain/Struct.js";
import { TimePoint } from "../../../chain/Time.js";
import { Transaction } from "../../../chain/Transaction.js";
/** Runtime serializer for `sysio.msig::approval`. */
export declare class MsigApproval extends Struct {
    /** Approved permission level. */
    level: PermissionLevel;
    /** Chain time when the approval was recorded. */
    time: TimePoint;
}
/** Runtime serializer for the current `sysio.msig::approvals_info` table row. */
export declare class MsigApprovalsInfo extends Struct {
    /** Table row version. */
    version: UInt8;
    /** Proposal name that owns the approval lists. */
    proposal_name: Name;
    /** Permission levels still requested by the proposal. */
    requested_approvals: MsigApproval[];
    /** Permission levels already provided to the proposal. */
    provided_approvals: MsigApproval[];
}
/** Runtime serializer for legacy `sysio.msig::old_approvals_info` rows. */
export declare class MsigOldApprovalsInfo extends Struct {
    /** Proposal name that owns the approval lists. */
    proposal_name: Name;
    /** Legacy requested permission levels. */
    requested_approvals: PermissionLevel[];
    /** Legacy provided permission levels. */
    provided_approvals: PermissionLevel[];
}
/** Runtime serializer for `sysio.msig::proposal` rows and read-only returns. */
export declare class MsigProposal extends Struct {
    /** Proposal name. */
    proposal_name: Name;
    /** Packed inner transaction, empty for chunked parent rows. */
    packed_transaction: Bytes;
    /** Optional earliest execution time. */
    earliest_exec_time: TimePoint | null;
    /** Chunk count used by chunked-v2 proposal parent rows. */
    chunk_count: UInt32 | null;
    /** Total assembled packed transaction size for chunked-v2 proposals. */
    total_size: UInt32 | null;
    /** Expected SHA-256 hash of the packed transaction for chunked-v2 proposals. */
    trx_hash: Checksum256 | null;
}
/** Runtime serializer for `sysio.msig::propchunk` rows. */
export declare class MsigPropChunk extends Struct {
    /** Proposal name this chunk belongs to. */
    proposal_name: Name;
    /** Zero-based chunk index. */
    chunk_index: UInt32;
    /** Raw packed transaction chunk bytes. */
    data: Bytes;
}
/** Runtime serializer for `sysio.msig::invalidation` rows. */
export declare class MsigInvalidation extends Struct {
    /** Account that invalidated prior approvals. */
    account: Name;
    /** Last invalidation time for the account. */
    last_invalidation_time: TimePoint;
}
/** Runtime serializer for `sysio.msig::propose`. */
export declare class MsigPropose extends Struct {
    /** Account proposing the inner transaction. */
    proposer: Name;
    /** Proposal name. */
    proposal_name: Name;
    /** Requested approver permission levels. */
    requested: PermissionLevel[];
    /** Inner transaction to execute when approved. */
    trx: Transaction;
}
/** Runtime serializer for `sysio.msig::approve`. */
export declare class MsigApprove extends Struct {
    /** Account that created the proposal. */
    proposer: Name;
    /** Proposal name. */
    proposal_name: Name;
    /** Approving permission level. */
    level: PermissionLevel;
    /** Optional proposal hash extension used by chunked-v2 contracts. */
    proposal_hash: Checksum256 | null;
}
/** Runtime serializer for `sysio.msig::unapprove`. */
export declare class MsigUnapprove extends Struct {
    /** Account that created the proposal. */
    proposer: Name;
    /** Proposal name. */
    proposal_name: Name;
    /** Permission level removing its approval. */
    level: PermissionLevel;
}
/** Runtime serializer for `sysio.msig::cancel`. */
export declare class MsigCancel extends Struct {
    /** Account that created the proposal. */
    proposer: Name;
    /** Proposal name. */
    proposal_name: Name;
    /** Account canceling the proposal. */
    canceler: Name;
}
/** Runtime serializer for `sysio.msig::exec`. */
export declare class MsigExec extends Struct {
    /** Account that created the proposal. */
    proposer: Name;
    /** Proposal name. */
    proposal_name: Name;
    /** Account executing the proposal. */
    executer: Name;
}
/** Runtime serializer for `sysio.msig::invalidate`. */
export declare class MsigInvalidate extends Struct {
    /** Account invalidating its existing approvals. */
    account: Name;
}
/** Runtime serializer for read-only `sysio.msig::getproposal`. */
export declare class MsigGetProposal extends Struct {
    /** Account that created the proposal. */
    proposer: Name;
    /** Proposal name. */
    proposal_name: Name;
}
//# sourceMappingURL=Structs.d.ts.map