import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
import * as types from "../types";
export interface OracleTwapsFields {
    oraclePrices: Address;
    oracleMappings: Address;
    twaps: Array<types.EmaTwapFields>;
}
export interface OracleTwapsJSON {
    oraclePrices: string;
    oracleMappings: string;
    twaps: Array<types.EmaTwapJSON>;
}
export declare class OracleTwaps {
    readonly oraclePrices: Address;
    readonly oracleMappings: Address;
    readonly twaps: Array<types.EmaTwap>;
    static readonly discriminator: Buffer<ArrayBuffer>;
    static readonly layout: import("buffer-layout").Layout<OracleTwaps>;
    constructor(fields: OracleTwapsFields);
    static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<OracleTwaps | null>;
    static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<OracleTwaps | null>>;
    static decode(data: Buffer): OracleTwaps;
    toJSON(): OracleTwapsJSON;
    static fromJSON(obj: OracleTwapsJSON): OracleTwaps;
}
//# sourceMappingURL=OracleTwaps.d.ts.map