import { BcsType } from '@mysten/sui/bcs';
import { SuiClient, SuiMoveNormalizedType } from '@mysten/sui/dist/cjs/client';
export declare function getBcsForStruct(client: SuiClient, type: SuiMoveNormalizedType, typeArguments?: SuiMoveNormalizedType[]): Promise<BcsType<any, any>>;
export declare const bcsStructs: {
    common: {
        Bytes32: BcsType<string, string | Uint8Array>;
        Channel: BcsType<{
            id: string;
        }, {
            id: string;
        }>;
        Bag: BcsType<{
            id: string;
            size: string;
        }, {
            id: string;
            size: string | number | bigint;
        }>;
        CoinBag: BcsType<{
            bag: {
                id: string;
                size: string;
            };
        }, {
            bag: {
                id: string;
                size: string | number | bigint;
            };
        }>;
        DiscoveryTable: BcsType<{
            id: string;
        }, {
            id: string;
        }>;
        Discovery: BcsType<{
            id: string;
            fields: {
                id: string;
            };
        }, {
            id: string;
            fields: {
                id: string;
            };
        }>;
        Table: BcsType<{
            id: string;
            size: string;
        }, {
            id: string;
            size: string | number | bigint;
        }>;
    };
    gateway: {
        Bytes32: BcsType<string, string | Uint8Array>;
        Message: BcsType<{
            source_chain: string;
            message_id: string;
            source_address: string;
            destination_id: string;
            payload_hash: string;
        }, {
            source_chain: string;
            message_id: string;
            source_address: string;
            destination_id: string | Uint8Array;
            payload_hash: string | Uint8Array;
        }>;
        WeightedSigner: BcsType<{
            pub_key: number[];
            weight: string;
        }, {
            pub_key: Iterable<number> & {
                length: number;
            };
            weight: string | number | bigint;
        }>;
        WeightedSigners: BcsType<{
            signers: {
                pub_key: number[];
                weight: string;
            }[];
            threshold: string;
            nonce: string;
        }, {
            signers: Iterable<{
                pub_key: Iterable<number> & {
                    length: number;
                };
                weight: string | number | bigint;
            }> & {
                length: number;
            };
            threshold: string | number | bigint;
            nonce: string | Uint8Array;
        }>;
        Signature: BcsType<number[], Iterable<number> & {
            length: number;
        }>;
        Proof: BcsType<{
            signers: {
                signers: {
                    pub_key: number[];
                    weight: string;
                }[];
                threshold: string;
                nonce: string;
            };
            signatures: number[][];
        }, {
            signers: {
                signers: Iterable<{
                    pub_key: Iterable<number> & {
                        length: number;
                    };
                    weight: string | number | bigint;
                }> & {
                    length: number;
                };
                threshold: string | number | bigint;
                nonce: string | Uint8Array;
            };
            signatures: Iterable<Iterable<number> & {
                length: number;
            }> & {
                length: number;
            };
        }>;
        MessageToSign: BcsType<{
            domain_separator: string;
            signers_hash: string;
            data_hash: string;
        }, {
            domain_separator: string | Uint8Array;
            signers_hash: string | Uint8Array;
            data_hash: string | Uint8Array;
        }>;
        Function: BcsType<{
            package_id: string;
            module_name: string;
            name: string;
        }, {
            package_id: string | Uint8Array;
            module_name: string;
            name: string;
        }>;
        MoveCall: BcsType<{
            function: {
                package_id: string;
                module_name: string;
                name: string;
            };
            arguments: number[][];
            type_arguments: string[];
        }, {
            function: {
                package_id: string | Uint8Array;
                module_name: string;
                name: string;
            };
            arguments: Iterable<Iterable<number> & {
                length: number;
            }> & {
                length: number;
            };
            type_arguments: Iterable<string> & {
                length: number;
            };
        }>;
        Transaction: BcsType<{
            is_final: boolean;
            move_calls: {
                function: {
                    package_id: string;
                    module_name: string;
                    name: string;
                };
                arguments: number[][];
                type_arguments: string[];
            }[];
        }, {
            is_final: boolean;
            move_calls: Iterable<{
                function: {
                    package_id: string | Uint8Array;
                    module_name: string;
                    name: string;
                };
                arguments: Iterable<Iterable<number> & {
                    length: number;
                }> & {
                    length: number;
                };
                type_arguments: Iterable<string> & {
                    length: number;
                };
            }> & {
                length: number;
            };
        }>;
        EncodedMessage: BcsType<{
            message_type: number;
            data: number[];
        }, {
            message_type: number;
            data: Iterable<number> & {
                length: number;
            };
        }>;
        Bag: BcsType<{
            id: string;
            size: string;
        }, {
            id: string;
            size: string | number | bigint;
        }>;
        Operators: BcsType<{
            id: string;
            operators: string[];
            caps: {
                id: string;
                size: string;
            };
        }, {
            id: string;
            operators: Iterable<string | Uint8Array> & {
                length: number;
            };
            caps: {
                id: string;
                size: string | number | bigint;
            };
        }>;
        ExecuteData: BcsType<{
            payload: number[];
            proof: number[];
        }, {
            payload: Iterable<number> & {
                length: number;
            };
            proof: Iterable<number> & {
                length: number;
            };
        }>;
        ApprovedMessage: BcsType<{
            source_chain: string;
            message_id: string;
            source_address: string;
            destination_id: string;
            payload: number[];
        }, {
            source_chain: string;
            message_id: string;
            source_address: string;
            destination_id: string | Uint8Array;
            payload: Iterable<number> & {
                length: number;
            };
        }>;
        Gateway: BcsType<{
            id: string;
            name: string;
            value: {
                operator: string;
                messages: {
                    id: string;
                    size: string;
                };
                signers: {
                    epoch: string;
                    epoch_by_signers_hash: {
                        id: string;
                        size: string;
                    };
                    domain_separator: string;
                    minimum_rotation_delay: string;
                    last_rotation_timestamp: string;
                    previous_signers_retention: string;
                };
                version_control: {
                    allowed_functions: {
                        contents: string[];
                    }[];
                };
            };
        }, {
            id: string;
            name: string | number | bigint;
            value: {
                operator: string | Uint8Array;
                messages: {
                    id: string;
                    size: string | number | bigint;
                };
                signers: {
                    epoch: string | number | bigint;
                    epoch_by_signers_hash: {
                        id: string;
                        size: string | number | bigint;
                    };
                    domain_separator: string | Uint8Array;
                    minimum_rotation_delay: string | number | bigint;
                    last_rotation_timestamp: string | number | bigint;
                    previous_signers_retention: string | number | bigint;
                };
                version_control: {
                    allowed_functions: Iterable<{
                        contents: Iterable<string> & {
                            length: number;
                        };
                    }> & {
                        length: number;
                    };
                };
            };
        }>;
    };
    squid: {
        SwapType: BcsType<import("@mysten/bcs").EnumOutputShapeWithKeys<{
            DeepbookV3: true;
            SuiTransfer: true;
            ItsTransfer: true;
        }, "DeepbookV3" | "SuiTransfer" | "ItsTransfer">, import("@mysten/bcs").EnumInputShape<{
            DeepbookV3: boolean | object | null;
            SuiTransfer: boolean | object | null;
            ItsTransfer: boolean | object | null;
        }>>;
        DeepbookV3SwapData: BcsType<{
            swap_type: import("@mysten/bcs").EnumOutputShapeWithKeys<{
                DeepbookV3: true;
                SuiTransfer: true;
                ItsTransfer: true;
            }, "DeepbookV3" | "SuiTransfer" | "ItsTransfer">;
            pool_id: string;
            has_base: boolean;
            min_output: string;
            base_type: string;
            quote_type: string;
            lot_size: string;
            should_sweep: boolean;
        }, {
            swap_type: import("@mysten/bcs").EnumInputShape<{
                DeepbookV3: boolean | object | null;
                SuiTransfer: boolean | object | null;
                ItsTransfer: boolean | object | null;
            }>;
            pool_id: string | Uint8Array;
            has_base: boolean;
            min_output: string | number | bigint;
            base_type: string;
            quote_type: string;
            lot_size: string | number | bigint;
            should_sweep: boolean;
        }>;
        SuiTransferSwapData: BcsType<{
            swap_type: import("@mysten/bcs").EnumOutputShapeWithKeys<{
                DeepbookV3: true;
                SuiTransfer: true;
                ItsTransfer: true;
            }, "DeepbookV3" | "SuiTransfer" | "ItsTransfer">;
            coin_type: string;
            recipient: string;
            fallback: boolean;
        }, {
            swap_type: import("@mysten/bcs").EnumInputShape<{
                DeepbookV3: boolean | object | null;
                SuiTransfer: boolean | object | null;
                ItsTransfer: boolean | object | null;
            }>;
            coin_type: string;
            recipient: string | Uint8Array;
            fallback: boolean;
        }>;
        ItsTransferSwapData: BcsType<{
            swap_type: import("@mysten/bcs").EnumOutputShapeWithKeys<{
                DeepbookV3: true;
                SuiTransfer: true;
                ItsTransfer: true;
            }, "DeepbookV3" | "SuiTransfer" | "ItsTransfer">;
            coin_type: string;
            token_id: string;
            destination_chain: string;
            destination_address: number[];
            metadata: number[];
            fallback: boolean;
        }, {
            swap_type: import("@mysten/bcs").EnumInputShape<{
                DeepbookV3: boolean | object | null;
                SuiTransfer: boolean | object | null;
                ItsTransfer: boolean | object | null;
            }>;
            coin_type: string;
            token_id: string | Uint8Array;
            destination_chain: string;
            destination_address: Iterable<number> & {
                length: number;
            };
            metadata: Iterable<number> & {
                length: number;
            };
            fallback: boolean;
        }>;
        Squid: BcsType<{
            id: string;
            name: string;
            value: {
                channel: {
                    id: string;
                };
                coin_bag: {
                    bag: {
                        id: string;
                        size: string;
                    };
                };
                version_control: {
                    allowed_functions: {
                        contents: string[];
                    }[];
                };
            };
        }, {
            id: string;
            name: string | number | bigint;
            value: {
                channel: {
                    id: string;
                };
                coin_bag: {
                    bag: {
                        id: string;
                        size: string | number | bigint;
                    };
                };
                version_control: {
                    allowed_functions: Iterable<{
                        contents: Iterable<string> & {
                            length: number;
                        };
                    }> & {
                        length: number;
                    };
                };
            };
        }>;
    };
    gmp: {
        Singleton: BcsType<{
            id: string;
            channel: {
                id: string;
            };
        }, {
            id: string;
            channel: {
                id: string;
            };
        }>;
    };
    versionControl: {
        VersionControl: BcsType<{
            allowed_functions: {
                contents: string[];
            }[];
        }, {
            allowed_functions: Iterable<{
                contents: Iterable<string> & {
                    length: number;
                };
            }> & {
                length: number;
            };
        }>;
    };
    gasService: {
        GasService: BcsType<{
            id: string;
            name: string;
            value: {
                balances: {
                    id: string;
                    size: string;
                };
                version_control: {
                    allowed_functions: {
                        contents: string[];
                    }[];
                };
            };
        }, {
            id: string;
            name: string | number | bigint;
            value: {
                balances: {
                    id: string;
                    size: string | number | bigint;
                };
                version_control: {
                    allowed_functions: Iterable<{
                        contents: Iterable<string> & {
                            length: number;
                        };
                    }> & {
                        length: number;
                    };
                };
            };
        }>;
    };
    its: {
        TrustedChains: BcsType<{
            trusted_chains: {
                id: string;
                size: string;
            };
        }, {
            trusted_chains: {
                id: string;
                size: string | number | bigint;
            };
        }>;
        InterchainTokenService: BcsType<{
            id: string;
            name: string;
            value: {
                channel: {
                    id: string;
                };
                trusted_chains: {
                    trusted_chains: {
                        id: string;
                        size: string;
                    };
                };
                unregistered_coin_types: {
                    id: string;
                    size: string;
                };
                unregistered_coins: {
                    id: string;
                    size: string;
                };
                registered_coin_types: {
                    id: string;
                    size: string;
                };
                registered_coins: {
                    id: string;
                    size: string;
                };
                relayer_discovery_id: string;
                its_hub_address: string;
                chain_name_hash: string;
                version_control: {
                    allowed_functions: {
                        contents: string[];
                    }[];
                };
            };
        }, {
            id: string;
            name: string | number | bigint;
            value: {
                channel: {
                    id: string;
                };
                trusted_chains: {
                    trusted_chains: {
                        id: string;
                        size: string | number | bigint;
                    };
                };
                unregistered_coin_types: {
                    id: string;
                    size: string | number | bigint;
                };
                unregistered_coins: {
                    id: string;
                    size: string | number | bigint;
                };
                registered_coin_types: {
                    id: string;
                    size: string | number | bigint;
                };
                registered_coins: {
                    id: string;
                    size: string | number | bigint;
                };
                relayer_discovery_id: string | Uint8Array;
                its_hub_address: string;
                chain_name_hash: string | Uint8Array;
                version_control: {
                    allowed_functions: Iterable<{
                        contents: Iterable<string> & {
                            length: number;
                        };
                    }> & {
                        length: number;
                    };
                };
            };
        }>;
    };
    relayerDiscovery: {
        RelayerDiscovery: BcsType<{
            id: string;
            name: string;
            value: {
                configurations: {
                    id: string;
                    size: string;
                };
                version_control: {
                    allowed_functions: {
                        contents: string[];
                    }[];
                };
            };
        }, {
            id: string;
            name: string | number | bigint;
            value: {
                configurations: {
                    id: string;
                    size: string | number | bigint;
                };
                version_control: {
                    allowed_functions: Iterable<{
                        contents: Iterable<string> & {
                            length: number;
                        };
                    }> & {
                        length: number;
                    };
                };
            };
        }>;
    };
};
//# sourceMappingURL=bcs.d.ts.map