import * as types from "../types";
import * as borsh from "@coral-xyz/borsh";
export interface TransferHookAJSON {
    kind: "TransferHookA";
}
export declare class TransferHookA {
    static readonly discriminator = 0;
    static readonly kind = "TransferHookA";
    readonly discriminator = 0;
    readonly kind = "TransferHookA";
    toJSON(): TransferHookAJSON;
    toEncodable(): {
        TransferHookA: {};
    };
}
export interface TransferHookBJSON {
    kind: "TransferHookB";
}
export declare class TransferHookB {
    static readonly discriminator = 1;
    static readonly kind = "TransferHookB";
    readonly discriminator = 1;
    readonly kind = "TransferHookB";
    toJSON(): TransferHookBJSON;
    toEncodable(): {
        TransferHookB: {};
    };
}
export interface TransferHookRewardJSON {
    kind: "TransferHookReward";
}
export declare class TransferHookReward {
    static readonly discriminator = 2;
    static readonly kind = "TransferHookReward";
    readonly discriminator = 2;
    readonly kind = "TransferHookReward";
    toJSON(): TransferHookRewardJSON;
    toEncodable(): {
        TransferHookReward: {};
    };
}
export interface TransferHookInputJSON {
    kind: "TransferHookInput";
}
export declare class TransferHookInput {
    static readonly discriminator = 3;
    static readonly kind = "TransferHookInput";
    readonly discriminator = 3;
    readonly kind = "TransferHookInput";
    toJSON(): TransferHookInputJSON;
    toEncodable(): {
        TransferHookInput: {};
    };
}
export interface TransferHookIntermediateJSON {
    kind: "TransferHookIntermediate";
}
export declare class TransferHookIntermediate {
    static readonly discriminator = 4;
    static readonly kind = "TransferHookIntermediate";
    readonly discriminator = 4;
    readonly kind = "TransferHookIntermediate";
    toJSON(): TransferHookIntermediateJSON;
    toEncodable(): {
        TransferHookIntermediate: {};
    };
}
export interface TransferHookOutputJSON {
    kind: "TransferHookOutput";
}
export declare class TransferHookOutput {
    static readonly discriminator = 5;
    static readonly kind = "TransferHookOutput";
    readonly discriminator = 5;
    readonly kind = "TransferHookOutput";
    toJSON(): TransferHookOutputJSON;
    toEncodable(): {
        TransferHookOutput: {};
    };
}
export declare function fromDecoded(obj: any): types.AccountsTypeKind;
export declare function fromJSON(obj: types.AccountsTypeJSON): types.AccountsTypeKind;
export declare function layout(property?: string): borsh.EnumLayout<unknown>;
//# sourceMappingURL=AccountsType.d.ts.map