/**
 * This code was AUTOGENERATED using the Codama library.
 * Please DO NOT EDIT THIS FILE, instead use visitors
 * to add features, then rerun Codama to update it.
 *
 * @see https://github.com/codama-idl/codama
 */
import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, type ReadonlyUint8Array } from '@solana/kit';
export declare const PRESET_PARAMETER_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
export declare function getPresetParameterDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
export type PresetParameter = {
    discriminator: ReadonlyUint8Array;
    /** Bin step. Represent the price increment / decrement. */
    binStep: number;
    /** Used for base fee calculation. base_fee_rate = base_factor * bin_step */
    baseFactor: number;
    /** Filter period determine high frequency trading time window. */
    filterPeriod: number;
    /** Decay period determine when the volatile fee start decay / decrease. */
    decayPeriod: number;
    /** Reduction factor controls the volatile fee rate decrement rate. */
    reductionFactor: number;
    /** Used to scale the variable fee component depending on the dynamic of the market */
    variableFeeControl: number;
    /** Maximum number of bin crossed can be accumulated. Used to cap volatile fee rate. */
    maxVolatilityAccumulator: number;
    /** Min bin id supported by the pool based on the configured bin step. */
    minBinId: number;
    /** Max bin id supported by the pool based on the configured bin step. */
    maxBinId: number;
    /** Portion of swap fees retained by the protocol by controlling protocol_share parameter. protocol_swap_fee = protocol_share * total_swap_fee */
    protocolShare: number;
};
export type PresetParameterArgs = {
    /** Bin step. Represent the price increment / decrement. */
    binStep: number;
    /** Used for base fee calculation. base_fee_rate = base_factor * bin_step */
    baseFactor: number;
    /** Filter period determine high frequency trading time window. */
    filterPeriod: number;
    /** Decay period determine when the volatile fee start decay / decrease. */
    decayPeriod: number;
    /** Reduction factor controls the volatile fee rate decrement rate. */
    reductionFactor: number;
    /** Used to scale the variable fee component depending on the dynamic of the market */
    variableFeeControl: number;
    /** Maximum number of bin crossed can be accumulated. Used to cap volatile fee rate. */
    maxVolatilityAccumulator: number;
    /** Min bin id supported by the pool based on the configured bin step. */
    minBinId: number;
    /** Max bin id supported by the pool based on the configured bin step. */
    maxBinId: number;
    /** Portion of swap fees retained by the protocol by controlling protocol_share parameter. protocol_swap_fee = protocol_share * total_swap_fee */
    protocolShare: number;
};
/** Gets the encoder for {@link PresetParameterArgs} account data. */
export declare function getPresetParameterEncoder(): FixedSizeEncoder<PresetParameterArgs>;
/** Gets the decoder for {@link PresetParameter} account data. */
export declare function getPresetParameterDecoder(): FixedSizeDecoder<PresetParameter>;
/** Gets the codec for {@link PresetParameter} account data. */
export declare function getPresetParameterCodec(): FixedSizeCodec<PresetParameterArgs, PresetParameter>;
export declare function decodePresetParameter<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<PresetParameter, TAddress>;
export declare function decodePresetParameter<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<PresetParameter, TAddress>;
export declare function fetchPresetParameter<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<PresetParameter, TAddress>>;
export declare function fetchMaybePresetParameter<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<PresetParameter, TAddress>>;
export declare function fetchAllPresetParameter(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<PresetParameter>[]>;
export declare function fetchAllMaybePresetParameter(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<PresetParameter>[]>;
export declare function getPresetParameterSize(): number;
//# sourceMappingURL=presetParameter.d.ts.map