/// <reference types="node" />
import { AccountInfo, MintInfo } from "@solana/spl-token";
import { WhirlpoolsConfigData, WhirlpoolData, PositionData, TickArrayData, FeeTierData } from "../../types/public";
/**
 * Static abstract class definition to parse entities.
 * @category Parsables
 */
export interface ParsableEntity<T> {
    /**
     * Parse account data
     *
     * @param accountData Buffer data for the entity
     * @returns Parsed entity
     */
    parse: (accountData: Buffer | undefined | null) => T | null;
}
/**
 * @category Parsables
 */
export declare class ParsableWhirlpoolsConfig {
    private constructor();
    static parse(data: Buffer | undefined | null): WhirlpoolsConfigData | null;
}
/**
 * @category Parsables
 */
export declare class ParsableWhirlpool {
    private constructor();
    static parse(data: Buffer | undefined | null): WhirlpoolData | null;
}
/**
 * @category Parsables
 */
export declare class ParsablePosition {
    private constructor();
    static parse(data: Buffer | undefined | null): PositionData | null;
}
/**
 * @category Parsables
 */
export declare class ParsableTickArray {
    private constructor();
    static parse(data: Buffer | undefined | null): TickArrayData | null;
}
/**
 * @category Parsables
 */
export declare class ParsableFeeTier {
    private constructor();
    static parse(data: Buffer | undefined | null): FeeTierData | null;
}
/**
 * @category Parsables
 */
export declare class ParsableTokenInfo {
    private constructor();
    static parse(data: Buffer | undefined | null): AccountInfo | null;
}
/**
 * @category Parsables
 */
export declare class ParsableMintInfo {
    private constructor();
    static parse(data: Buffer | undefined | null): MintInfo | null;
}
