import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
export interface OracleMappingsFields {
    priceInfoAccounts: Array<Address>;
    priceTypes: Array<number>;
    twapSource: Array<number>;
    twapEnabled: Array<number>;
    refPrice: Array<number>;
    generic: Array<Array<number>>;
}
export interface OracleMappingsJSON {
    priceInfoAccounts: Array<string>;
    priceTypes: Array<number>;
    twapSource: Array<number>;
    twapEnabled: Array<number>;
    refPrice: Array<number>;
    generic: Array<Array<number>>;
}
export declare class OracleMappings {
    readonly priceInfoAccounts: Array<Address>;
    readonly priceTypes: Array<number>;
    readonly twapSource: Array<number>;
    readonly twapEnabled: Array<number>;
    readonly refPrice: Array<number>;
    readonly generic: Array<Array<number>>;
    static readonly discriminator: Buffer<ArrayBuffer>;
    static readonly layout: import("buffer-layout").Layout<OracleMappings>;
    constructor(fields: OracleMappingsFields);
    static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<OracleMappings | null>;
    static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<OracleMappings | null>>;
    static decode(data: Buffer): OracleMappings;
    toJSON(): OracleMappingsJSON;
    static fromJSON(obj: OracleMappingsJSON): OracleMappings;
}
//# sourceMappingURL=OracleMappings.d.ts.map