export declare type YiIDL = {
    version: "0.4.0";
    name: "yi";
    instructions: [
        {
            name: "createYiToken";
            accounts: [
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "yiToken";
                    isMut: true;
                    isSigner: false;
                    pda: {
                        seeds: [
                            {
                                kind: "const";
                                type: "string";
                                value: "YiToken";
                            },
                            {
                                kind: "account";
                                type: "publicKey";
                                account: "Mint";
                                path: "mint";
                            }
                        ];
                    };
                },
                {
                    name: "underlyingTokenMint";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "underlyingTokens";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "payer";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "createYiTokenWithFees";
            accounts: [
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "yiToken";
                    isMut: true;
                    isSigner: false;
                    pda: {
                        seeds: [
                            {
                                kind: "const";
                                type: "string";
                                value: "YiToken";
                            },
                            {
                                kind: "account";
                                type: "publicKey";
                                account: "Mint";
                                path: "mint";
                            }
                        ];
                    };
                },
                {
                    name: "underlyingTokenMint";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "underlyingTokens";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "payer";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "stakeFeeMillibps";
                    type: "u32";
                },
                {
                    name: "unstakeFeeMillibps";
                    type: "u32";
                }
            ];
        },
        {
            name: "stake";
            accounts: [
                {
                    name: "yiToken";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "yiMint";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "sourceTokens";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "sourceAuthority";
                    isMut: false;
                    isSigner: true;
                },
                {
                    name: "yiUnderlyingTokens";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "destinationYiTokens";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "tokenProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                }
            ];
        },
        {
            name: "unstake";
            accounts: [
                {
                    name: "yiToken";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "yiMint";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "sourceYiTokens";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "sourceAuthority";
                    isMut: false;
                    isSigner: true;
                },
                {
                    name: "yiUnderlyingTokens";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "destinationUnderlyingTokens";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "tokenProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                }
            ];
        }
    ];
    accounts: [
        {
            name: "YiToken";
            type: {
                kind: "struct";
                fields: [
                    {
                        name: "mint";
                        type: "publicKey";
                    },
                    {
                        name: "bump";
                        type: "u8";
                    },
                    {
                        name: "padding";
                        type: {
                            array: ["u8", 7];
                        };
                    },
                    {
                        name: "underlyingTokenMint";
                        type: "publicKey";
                    },
                    {
                        name: "underlyingTokens";
                        type: "publicKey";
                    },
                    {
                        name: "stakeFeeMillibps";
                        type: "u32";
                    },
                    {
                        name: "unstakeFeeMillibps";
                        type: "u32";
                    }
                ];
            };
        }
    ];
    errors: [
        {
            code: 6000;
            name: "DecimalMismatch";
            msg: "Decimal mismatch.";
        },
        {
            code: 6001;
            name: "InvalidStakeFee";
            msg: "Stake fee cannot exceed 100%.";
        },
        {
            code: 6002;
            name: "InvalidUnstakeFee";
            msg: "Unstake fee cannot exceed 100%.";
        }
    ];
};
export declare const YiJSON: YiIDL;
export declare const YiErrors: import("@saberhq/anchor-contrib").ErrorMap<YiIDL>;
//# sourceMappingURL=yi.d.ts.map