[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-06 UTC."],[],[],null,["# FirebaseVertexAI Framework Reference\n\nFunctionDeclaration\n===================\n\n @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)\n public struct FunctionDeclaration : Sendable\n\n extension FunctionDeclaration: Encodable\n\nStructured representation of a function declaration.\n\nThis `FunctionDeclaration` is a representation of a block of code that can be used as a [Tool](../Structs/Tool.html)\nby the model and executed by the client.\n- `\n ``\n ``\n `\n\n ### [init(name:description:parameters:optionalParameters:)](#/s:16FirebaseVertexAI19FunctionDeclarationV4name11description10parameters18optionalParametersACSS_SSSDySSAA6SchemaCGSaySSGtcfc)\n\n `\n ` \n Constructs a new `FunctionDeclaration`. \n\n #### Declaration\n\n Swift \n\n public init(name: String, description: String, parameters: [String: ../Classes/Schema.html],\n optionalParameters: [String] = [])\n\n #### Parameters\n\n |----------------------------|---------------------------------------------------------------------------------------------------------------------------------|\n | ` `*name*` ` | The name of the function; must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 63. |\n | ` `*description*` ` | A brief description of the function. |\n | ` `*parameters*` ` | Describes the parameters to this function. |\n | ` `*optionalParameters*` ` | The names of parameters that may be omitted by the model in function calls; by default, all parameters are considered required. |\n\n[Codable Conformance\n-------------------](#/Codable-Conformance)\n\n- `\n ``\n ``\n `\n\n ### [encode(to:)](#/s:SE6encode2toys7Encoder_p_tKF)\n\n `\n ` \n\n #### Declaration\n\n Swift \n\n public func encode(to encoder: Encoder) throws"]]