import type { HttpClient } from "../core/http.js"; import type { ApiSchemas, OneclawResponse } from "../types.js"; type TreasuryResponse = ApiSchemas["TreasuryResponse"]; type CreateTreasuryRequest = ApiSchemas["CreateTreasuryRequest"]; type UpdateTreasuryRequest = ApiSchemas["UpdateTreasuryRequest"]; type AddSignerRequest = ApiSchemas["AddSignerRequest"]; type AccessRequestResponse = ApiSchemas["AccessRequestResponse"]; type TreasurySignerResponse = ApiSchemas["TreasurySignerResponse"]; export interface TreasuryListResponse { treasuries: TreasuryResponse[]; } export interface AccessRequestListResponse { requests: AccessRequestResponse[]; } /** * Treasury (Safe multisig) management — create, update, delete treasuries; * signers; agent access requests (approve/deny). * * For multi-chain wallet operations, see TreasuryWalletsResource. */ export declare class TreasuryResource { private readonly http; constructor(http: HttpClient); create(body: CreateTreasuryRequest): Promise>; list(): Promise>; get(treasuryId: string): Promise>; update(treasuryId: string, body: UpdateTreasuryRequest): Promise>; delete(treasuryId: string): Promise>; addSigner(treasuryId: string, body: AddSignerRequest): Promise>; removeSigner(treasuryId: string, signerId: string): Promise>; requestAccess(treasuryId: string, body?: { reason?: string; }): Promise>; listAccessRequests(treasuryId: string): Promise>; approveAccess(treasuryId: string, requestId: string): Promise>; denyAccess(treasuryId: string, requestId: string): Promise>; propose(treasuryId: string, body: { to: string; value_wei?: string; data?: string; operation?: number; safe_tx_hash: string; nonce: number; }): Promise>; listProposals(treasuryId: string, options?: { status?: string; }): Promise>; getProposal(treasuryId: string, proposalId: string): Promise>; signProposal(treasuryId: string, proposalId: string, body: { signature: string; signer_address: string; decision?: "approve" | "reject"; }): Promise>; executeProposal(treasuryId: string, proposalId: string): Promise>; } export interface ProposalResponse { id: string; treasury_id: string; proposed_by: string; proposed_by_type: string; chain: string; chain_id: number; safe_address: string; to_address: string; value_wei: string; data_hex: string; operation: number; safe_tx_hash: string; nonce: number; status: string; threshold: number; expires_at?: string; executed_tx_hash?: string; executed_at?: string; signatures: { id: string; signer_id: string; signer_type: string; signer_address: string; decision: string; created_at: string; }[]; created_at: string; } export interface ProposalListResponse { proposals: ProposalResponse[]; } export {}; //# sourceMappingURL=treasury.d.ts.map