import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
import * as types from "../types";
export interface TickArrayStateFields {
    poolId: Address;
    startTickIndex: number;
    ticks: Array<types.TickStateFields>;
    initializedTickCount: number;
    padding: Array<number>;
}
export interface TickArrayStateJSON {
    poolId: string;
    startTickIndex: number;
    ticks: Array<types.TickStateJSON>;
    initializedTickCount: number;
    padding: Array<number>;
}
export declare class TickArrayState {
    readonly poolId: Address;
    readonly startTickIndex: number;
    readonly ticks: Array<types.TickState>;
    readonly initializedTickCount: number;
    readonly padding: Array<number>;
    static readonly discriminator: Buffer<ArrayBuffer>;
    static readonly layout: import("buffer-layout").Layout<TickArrayState>;
    constructor(fields: TickArrayStateFields);
    static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<TickArrayState | null>;
    static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<TickArrayState | null>>;
    static decode(data: Buffer): TickArrayState;
    toJSON(): TickArrayStateJSON;
    static fromJSON(obj: TickArrayStateJSON): TickArrayState;
}
//# sourceMappingURL=TickArrayState.d.ts.map