import type { APIClient } from "../../../api/Client.js";
import { ABI } from "../../../chain/Abi.js";
import { NameType } from "../../../chain/Name.js";
import type { MsigCapabilities } from "./Types.js";
/** Base action surface required by legacy and chunked-v2 `sysio.msig`. */
export declare const MSIG_BASE_ACTIONS: readonly ["propose", "approve", "unapprove", "cancel", "exec", "invalidate"];
/**
 * Complete action surface checked by this module.
 *
 * `getproposal` is chunked-v2 specific. It gives clients a read-only path for
 * reassembled proposal bytes without duplicating contract chunk assembly logic.
 */
export declare const MSIG_ACTIONS: readonly ["propose", "approve", "unapprove", "cancel", "exec", "invalidate", "getproposal"];
/** Base table surface required by legacy and chunked-v2 `sysio.msig`. */
export declare const MSIG_BASE_TABLES: readonly ["proposal", "approvals2", "approvals", "invals"];
/**
 * Complete table surface checked by this module.
 *
 * `propchunks` is intentionally enhanced-only. Legacy contracts remain readable
 * through scoped `proposal` rows when this table is absent.
 */
export declare const MSIG_TABLES: readonly ["proposal", "approvals2", "approvals", "invals", "propchunks"];
/** Base proposal row fields required for legacy table reads. */
export declare const MSIG_BASE_PROPOSAL_FIELDS: readonly ["proposal_name", "packed_transaction"];
/** Proposal row fields added by the chunked-v2 contract shape. */
export declare const MSIG_CHUNKED_PROPOSAL_FIELDS: readonly ["chunk_count", "total_size", "trx_hash"];
/** Complete proposal field surface checked by this module. */
export declare const MSIG_PROPOSAL_FIELDS: readonly ["proposal_name", "packed_transaction", "earliest_exec_time", "chunk_count", "total_size", "trx_hash"];
type AbiLike = ABI.Def | {
    abi?: ABI.Def | null;
} | null;
/** Builds an ABI-derived `sysio.msig` capability matrix. */
export declare function capabilitiesFromAbi(response: AbiLike, contract?: NameType): MsigCapabilities;
/** Reads a deployed ABI and classifies its `sysio.msig` feature support. */
export declare function detectMsigCapabilities(client: APIClient, contract?: NameType): Promise<MsigCapabilities>;
export {};
//# sourceMappingURL=Capabilities.d.ts.map