import { Asset, Float64, Int64, Struct, TimePointSec, UInt128, UInt32, UInt64, UInt8 } from "../..//index.js";
import BN from "bn.js";
import { PowerUpStateOptions } from "./Options.js";
export declare abstract class PowerUpStateResource extends Struct {
    version: UInt8;
    weight: Int64;
    weight_ratio: Int64;
    assumed_stake_weight: Int64;
    initial_weight_ratio: Int64;
    target_weight_ratio: Int64;
    initial_timestamp: TimePointSec;
    target_timestamp: TimePointSec;
    exponent: Float64;
    decay_secs: UInt32;
    min_price: Asset;
    max_price: Asset;
    utilization: Int64;
    adjusted_utilization: Int64;
    utilization_timestamp: TimePointSec;
    readonly default_block_cpu_limit: UInt64;
    readonly default_block_net_limit: UInt64;
    abstract per_day(options?: PowerUpStateOptions): number;
    get allocated(): number;
    get reserved(): BN;
    get symbol(): Asset.Symbol;
    cast(): {
        adjusted_utilization: number;
        decay_secs: number;
        exponent: number;
        utilization: number;
        utilization_timestamp: number;
        weight: BN;
        weight_ratio: number;
    };
    utilization_increase(sample: UInt128, frac: any): number;
    price_function(utilization: number): number;
    price_integral_delta(start_utilization: number, end_utilization: number): number;
    fee(utilization_increase: any, adjusted_utilization: any): number;
    determine_adjusted_utilization(options?: PowerUpStateOptions): number;
}
//# sourceMappingURL=Abstract.d.ts.map