import * as types from "../types";
export interface RemainingAccountsInfoFields {
    slices: Array<types.RemainingAccountsSliceFields>;
}
export interface RemainingAccountsInfoJSON {
    slices: Array<types.RemainingAccountsSliceJSON>;
}
export declare class RemainingAccountsInfo {
    readonly slices: Array<types.RemainingAccountsSlice>;
    constructor(fields: RemainingAccountsInfoFields);
    static layout(property?: string): import("buffer-layout").Layout<unknown>;
    static fromDecoded(obj: any): types.RemainingAccountsInfo;
    static toEncodable(fields: RemainingAccountsInfoFields): {
        slices: {
            accountsType: {
                TransferHookA: {};
            } | {
                TransferHookB: {};
            } | {
                TransferHookReward: {};
            } | {
                TransferHookInput: {};
            } | {
                TransferHookIntermediate: {};
            } | {
                TransferHookOutput: {};
            };
            length: number;
        }[];
    };
    toJSON(): RemainingAccountsInfoJSON;
    static fromJSON(obj: RemainingAccountsInfoJSON): RemainingAccountsInfo;
    toEncodable(): {
        slices: {
            accountsType: {
                TransferHookA: {};
            } | {
                TransferHookB: {};
            } | {
                TransferHookReward: {};
            } | {
                TransferHookInput: {};
            } | {
                TransferHookIntermediate: {};
            } | {
                TransferHookOutput: {};
            };
            length: number;
        }[];
    };
}
//# sourceMappingURL=RemainingAccountsInfo.d.ts.map