import { BaseApiClient } from 'defender-base-client'; import { Hex, Address, ExternalApiCreateProposalRequest as CreateProposalRequest } from './models/proposal'; import { SimulationRequest as SimulationTransaction, SimulationResponse } from './models/simulation'; import { Contract } from './models/contract'; import { ExternalApiProposalResponse as ProposalResponse } from './models/response'; import { Verification, VerificationRequest } from './models/verification'; declare type UpgradeParams = { title?: string; description?: string; proxyAdmin?: string; via?: Address; viaType?: CreateProposalRequest['viaType']; newImplementation: string; newImplementationAbi?: string; }; declare type PauseParams = { title?: string; description?: string; via: Address; viaType: CreateProposalRequest['viaType']; }; declare type AccessControlParams = { title?: string; description?: string; via: Address; viaType: CreateProposalRequest['viaType']; }; export interface ProposalResponseWithUrl extends ProposalResponse { url: string; } export declare class AdminClient extends BaseApiClient { protected getPoolId(): string; protected getPoolClientId(): string; protected getApiUrl(): string; addContract(contract: Contract): Promise; deleteContract(contractId: string): Promise; listContracts(): Promise[]>; createProposal(proposal: CreateProposalRequest): Promise; listProposals(opts?: { includeArchived?: boolean; }): Promise; getProposal(contractId: string, proposalId: string): Promise; archiveProposal(contractId: string, proposalId: string): Promise; unarchiveProposal(contractId: string, proposalId: string): Promise; getProposalSimulation(contractId: string, proposalId: string): Promise; simulateProposal(contractId: string, proposalId: string, transaction: SimulationTransaction): Promise; proposeUpgrade(params: UpgradeParams, contract: CreateProposalRequest['contract']): Promise; proposePause(params: PauseParams, contract: CreateProposalRequest['contract']): Promise; proposeUnpause(params: PauseParams, contract: CreateProposalRequest['contract']): Promise; proposeGrantRole(params: AccessControlParams, contract: CreateProposalRequest['contract'], role: Hex, account: Address): Promise; proposeRevokeRole(params: AccessControlParams, contract: CreateProposalRequest['contract'], role: Hex, account: Address): Promise; verifyDeployment(params: VerificationRequest): Promise; getDeploymentVerification(params: Pick): Promise; private proposePauseabilityAction; private proposeAccessControlAction; } export {}; //# sourceMappingURL=api.d.ts.map