import type { Utxo, NetworkProvider } from "cashscript";
import type { UtxPhiIface, ContractOptions } from "../../common/interface.js";
import { BaseUtxPhiContract } from "../../common/contract.js";
export declare class Perpetuity extends BaseUtxPhiContract implements UtxPhiIface {
    period: bigint | number;
    address: string;
    executorAllowance: bigint | number;
    decay: bigint | number;
    options: ContractOptions;
    static c: string;
    private static fn;
    recipientLockingBytecode: Uint8Array;
    static minAllowance: bigint;
    constructor(period: bigint | number, address: string, executorAllowance: bigint | number, decay: bigint | number, options?: ContractOptions);
    refresh(): void;
    static fromString(str: string, network?: string): Perpetuity;
    static fromOpReturn(opReturn: Uint8Array | string, network?: string): Perpetuity;
    static getSpendableBalance(opReturn: Uint8Array | string, network: string | undefined, networkProvider: NetworkProvider, blockHeight: number): Promise<bigint>;
    static getExecutorAllowance(opReturn: Uint8Array | string, network?: string): bigint;
    toString(): string;
    asText(): string;
    asCommand(): string;
    toOpReturn(hex?: boolean): string | Uint8Array;
    getOutputLockingBytecodes(hex?: boolean): string[] | Uint8Array[];
    isSpecial(): boolean;
    asSeries(): Promise<any>;
    execute(exAddress?: string, fee?: bigint, utxos?: Utxo[], debug?: boolean): Promise<string>;
}
//# sourceMappingURL=Perpetuity.d.ts.map