import { BuiltinContract, type UploadKeyRequest } from "./types.js";
interface ModifyChainConfiguration {
    changePeriod(period: number): Promise<string>;
    addLatcSaint(latcSaint: string[]): Promise<string>;
    addLatcSaintNew(nodes: UploadKeyRequest[]): Promise<string>;
    delLatcSaint(latcSaint: string[]): Promise<string>;
    replaceLatcSaint(oldSaint: string, newSaint: string): Promise<string>;
    replaceLatcSaintNew(oldSaint: string, publicKey: string): Promise<string>;
    replacePreacher(oldSaint: string, newSaint: string): Promise<string>;
    isDictatorship(isDictatorship: boolean): Promise<string>;
    switchIsContractVote(isContractVote: boolean): Promise<string>;
    switchContractPermission(contractPermission: boolean): Promise<string>;
    switchConsensus(consensus: string): Promise<string>;
    switchDeployRule(deployRule: number): Promise<string>;
    switchNoEmptyAnchor(noEmptyAnchor: boolean): Promise<string>;
    changeEmptyAnchorPeriodMul(emptyAnchorPeriodMul: number): Promise<string>;
    changeProposalExpireTime(proposalExpireTime: number): Promise<string>;
    changeChainByChainVote(chainByChainVote: number): Promise<string>;
}
declare class ModifyChainConfigurationContract implements ModifyChainConfiguration {
    private readonly iface;
    constructor();
    changePeriod(period: number): Promise<string>;
    addLatcSaint(latcSaint: string[]): Promise<string>;
    addLatcSaintNew(nodes: UploadKeyRequest[]): Promise<string>;
    delLatcSaint(latcSaint: string[]): Promise<string>;
    replaceLatcSaint(oldSaint: string, newSaint: string): Promise<string>;
    replaceLatcSaintNew(oldSaint: string, publicKey: string): Promise<string>;
    replacePreacher(oldSaint: string, newSaint: string): Promise<string>;
    isDictatorship(isDictatorship: boolean): Promise<string>;
    switchIsContractVote(isContractVote: boolean): Promise<string>;
    switchContractPermission(contractPermission: boolean): Promise<string>;
    switchConsensus(consensus: string): Promise<string>;
    switchDeployRule(deployRule: number): Promise<string>;
    switchNoEmptyAnchor(noEmptyAnchor: boolean): Promise<string>;
    changeEmptyAnchorPeriodMul(emptyAnchorPeriodMul: number): Promise<string>;
    changeProposalExpireTime(proposalExpireTime: number): Promise<string>;
    changeChainByChainVote(chainByChainVote: number): Promise<string>;
}
declare const modifyChainConfiguration: BuiltinContract;
export { type ModifyChainConfiguration, ModifyChainConfigurationContract, modifyChainConfiguration };
//# sourceMappingURL=modify-chain-configuration.d.ts.map