import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
import BN from "bn.js";
import * as types from "../types";
export interface ObservationStateFields {
    initialized: boolean;
    poolId: Address;
    observations: Array<types.ObservationFields>;
    padding: Array<BN>;
}
export interface ObservationStateJSON {
    initialized: boolean;
    poolId: string;
    observations: Array<types.ObservationJSON>;
    padding: Array<string>;
}
export declare class ObservationState {
    readonly initialized: boolean;
    readonly poolId: Address;
    readonly observations: Array<types.Observation>;
    readonly padding: Array<BN>;
    static readonly discriminator: Buffer<ArrayBuffer>;
    static readonly layout: import("buffer-layout").Layout<ObservationState>;
    constructor(fields: ObservationStateFields);
    static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<ObservationState | null>;
    static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<ObservationState | null>>;
    static decode(data: Buffer): ObservationState;
    toJSON(): ObservationStateJSON;
    static fromJSON(obj: ObservationStateJSON): ObservationState;
}
//# sourceMappingURL=ObservationState.d.ts.map