UNPKG

@snap/camera-kit

Version:
1,067 lines 150 kB
import _m0 from "protobufjs/minimal"; export declare const protobufPackage = "snapchat.lenses"; /** Data interface used by an API endpoint */ export declare enum RemoteApiEndpointType { /** TYPE_UNSET - Invalid empty value */ TYPE_UNSET = "TYPE_UNSET", /** TEXT - Text-based API, usually JSON */ TEXT = "TEXT", /** PROTO - Protobuf-based API, request and response are proto messages */ PROTO = "PROTO", UNRECOGNIZED = "UNRECOGNIZED" } export declare function remoteApiEndpointTypeFromJSON(object: any): RemoteApiEndpointType; export declare function remoteApiEndpointTypeToNumber(object: RemoteApiEndpointType): number; /** Defines caching behavior for an endpoint */ export declare enum RemoteApiCacheStrategy { /** CS_UNSET - Invalid empty value */ CS_UNSET = "CS_UNSET", /** USE_HEADERS - Rely on Cache-control headers */ USE_HEADERS = "USE_HEADERS", /** ALWAYS - Always cache */ ALWAYS = "ALWAYS", /** NEVER - Never cache */ NEVER = "NEVER", UNRECOGNIZED = "UNRECOGNIZED" } export declare function remoteApiCacheStrategyFromJSON(object: any): RemoteApiCacheStrategy; export declare function remoteApiCacheStrategyToNumber(object: RemoteApiCacheStrategy): number; /** * Normally, proxy relies on the response Cache-control header to determine cache TTL. * When to override 3p API-provided cache TTL with the one specified in the spec */ export declare enum RemoteApiCacheTTLStrategy { /** CTS_UNSET - Never override TTL from Cache-control header */ CTS_UNSET = "CTS_UNSET", /** EXACT - Always use spec-provided TTL, ignore Cache-control header */ EXACT = "EXACT", /** FLOOR - Use spec-provided TTL if Cache-control TTL is less */ FLOOR = "FLOOR", /** CEILING - Use spec-provided TTL if Cache-control TTL is greater */ CEILING = "CEILING", UNRECOGNIZED = "UNRECOGNIZED" } export declare function remoteApiCacheTTLStrategyFromJSON(object: any): RemoteApiCacheTTLStrategy; export declare function remoteApiCacheTTLStrategyToNumber(object: RemoteApiCacheTTLStrategy): number; /** Options in HTTP request to run through ALD (Abuse Language Detection) */ export declare enum AldRequestValidationConfig { /** ALD_REQ_CONFIG_UNSET - Unset */ ALD_REQ_CONFIG_UNSET = "ALD_REQ_CONFIG_UNSET", /** REQ_BODY - Request Body */ REQ_BODY = "REQ_BODY", /** REQ_URL - Request URL */ REQ_URL = "REQ_URL", /** REQ_HEADERS - Request headers */ REQ_HEADERS = "REQ_HEADERS", UNRECOGNIZED = "UNRECOGNIZED" } export declare function aldRequestValidationConfigFromJSON(object: any): AldRequestValidationConfig; export declare function aldRequestValidationConfigToNumber(object: AldRequestValidationConfig): number; /** Options in HTTP response to run through ALD (Abuse Language Detection) */ export declare enum AldResponseValidationConfig { /** ALD_RESP_CONFIG_UNSET - Unset */ ALD_RESP_CONFIG_UNSET = "ALD_RESP_CONFIG_UNSET", /** RESP_BODY - Response Body */ RESP_BODY = "RESP_BODY", /** RESP_HEADERS - Response headers */ RESP_HEADERS = "RESP_HEADERS", UNRECOGNIZED = "UNRECOGNIZED" } export declare function aldResponseValidationConfigFromJSON(object: any): AldResponseValidationConfig; export declare function aldResponseValidationConfigToNumber(object: AldResponseValidationConfig): number; /** * Approval state of an API spec * See more: https://docs.google.com/document/d/1uNuHwRT6a5_XBNQ1gZGNpdNVUEaTTCYkMFtnj7r3Z24/edit?usp=sharing */ export declare enum SpecApprovalState { /** APPROVAL_STATE_UNSET - Invalid value */ APPROVAL_STATE_UNSET = "APPROVAL_STATE_UNSET", /** IN_REVIEW - In review */ IN_REVIEW = "IN_REVIEW", /** APPROVED - Approved */ APPROVED = "APPROVED", /** BLOCKED - Blocked */ BLOCKED = "BLOCKED", UNRECOGNIZED = "UNRECOGNIZED" } export declare function specApprovalStateFromJSON(object: any): SpecApprovalState; export declare function specApprovalStateToNumber(object: SpecApprovalState): number; /** Who should be able to see/use the spec */ export declare enum SpecVisibility { /** VISIBILITY_UNSET - Invalid value */ VISIBILITY_UNSET = "VISIBILITY_UNSET", /** * INTERNAL - Only internal Lens Studio versions * * @deprecated */ INTERNAL = "INTERNAL", /** PRIVATE - Only the spec creator and those on allowlist */ PRIVATE = "PRIVATE", /** EXTERNAL - Accessible to everyone */ EXTERNAL = "EXTERNAL", UNRECOGNIZED = "UNRECOGNIZED" } export declare function specVisibilityFromJSON(object: any): SpecVisibility; export declare function specVisibilityToNumber(object: SpecVisibility): number; /** * Where was this api created from; in the future we may end up with * different behavior for Specs created from different properties */ export declare enum CreatedFrom { /** CREATED_FROM_UNSET - Invalid value */ CREATED_FROM_UNSET = "CREATED_FROM_UNSET", /** REMOTE_API_ADMIN - This was created on Remote-Api-Admin by an internal team member */ REMOTE_API_ADMIN = "REMOTE_API_ADMIN", /** MY_LENSES - This was created on My-Lenses by an external team member */ MY_LENSES = "MY_LENSES", UNRECOGNIZED = "UNRECOGNIZED" } export declare function createdFromFromJSON(object: any): CreatedFrom; export declare function createdFromToNumber(object: CreatedFrom): number; /** What platform this spec is targeting */ export declare enum TargetPlatform { /** TARGET_PLATFORM_UNSET - Invalid value */ TARGET_PLATFORM_UNSET = "TARGET_PLATFORM_UNSET", /** SNAPCHAT - Accessible to lenses on Snapchat */ SNAPCHAT = "SNAPCHAT", /** SPECTACLES - Accessible to lenses on Spectacles */ SPECTACLES = "SPECTACLES", /** CAMERA_KIT - Accessible to CameraKit */ CAMERA_KIT = "CAMERA_KIT", UNRECOGNIZED = "UNRECOGNIZED" } export declare function targetPlatformFromJSON(object: any): TargetPlatform; export declare function targetPlatformToNumber(object: TargetPlatform): number; /** Defines which api access level the lens has: https://snapchat.quip.com/RS86Adtd8lZI */ export declare enum RestrictedJsApiPermission { /** PERMISSION_UNSET - Invalid value */ PERMISSION_UNSET = "PERMISSION_UNSET", /** USER_DATA - Lenses that use this API can access user data */ USER_DATA = "USER_DATA", UNRECOGNIZED = "UNRECOGNIZED" } export declare function restrictedJsApiPermissionFromJSON(object: any): RestrictedJsApiPermission; export declare function restrictedJsApiPermissionToNumber(object: RestrictedJsApiPermission): number; /** (only for internal API endpoints) Possible use cases for user location */ export declare enum UserLocationUseCase { /** USE_CASE_UNSET - Undefined use case */ USE_CASE_UNSET = "USE_CASE_UNSET", /** WEATHER - Weather info in user area (zoom level 10) */ WEATHER = "WEATHER", /** PLACES - Finding nearby places (zoom level 18) */ PLACES = "PLACES", /** PLACES_COARSE - Finding nearby places at a more coarse level (zoom level 17) */ PLACES_COARSE = "PLACES_COARSE", UNRECOGNIZED = "UNRECOGNIZED" } export declare function userLocationUseCaseFromJSON(object: any): UserLocationUseCase; export declare function userLocationUseCaseToNumber(object: UserLocationUseCase): number; /** Defines how a parameter is injected into an HTTP request */ export interface RemoteApiHttpRequestParameter { /** Unique name of the parameter */ name: string; /** Location of the parameter */ location: RemoteApiHttpRequestParameter_ParameterLocation; /** Is parameter optional */ optional: boolean; /** * (optional) Name of the parameter that will be used to construct the request (in query/headers/path). * `name` is used by clients to fill in the parameters in the request, whereas * `external_name` is what is used in the outgoing API request by the proxy. * If empty, `external_name` is assumed to be the same as `name`. */ externalName: string; /** * Default value if the parameter is not set. Useful for "standard" headers like content-type * and other similar cases. If a default value is provided, the parameter will be sent with every request. * Required for constant parameters. */ defaultValue: string; /** * Constant parameters have the same predefined value for all requests and * are always set by the proxy. Not allowed to be overridden by the caller. */ constant: boolean; } /** Possible location of a parameter */ export declare enum RemoteApiHttpRequestParameter_ParameterLocation { /** LOCATION_UNSET - Undefined location */ LOCATION_UNSET = "LOCATION_UNSET", /** QUERY - Parameters that appear in the URL query */ QUERY = "QUERY", /** HEADER - Parameters that appear in the HTTP request header */ HEADER = "HEADER", /** PATH - Parameters that appear in the URL path (for parameterized path only) */ PATH = "PATH", UNRECOGNIZED = "UNRECOGNIZED" } export declare function remoteApiHttpRequestParameter_ParameterLocationFromJSON(object: any): RemoteApiHttpRequestParameter_ParameterLocation; export declare function remoteApiHttpRequestParameter_ParameterLocationToNumber(object: RemoteApiHttpRequestParameter_ParameterLocation): number; /** (only for PROTO endpoints) Represents names of fields in a proto response, as well as an optional macro value */ export interface RemoteApiHttpResponseParameter { /** Unique name of the parameter */ name: string; /** Whether or not we want to expose this parameter in the final API response to user */ hidden: boolean; /** Specific macro values indicate certain parameters and types that we want to map this proto field to. */ macroValue: string; } /** Metadata for remote API endpoints */ export interface RemoteApiEndpointMetadata { /** Human-readable name for the endpoint */ name: string; /** Description that may include links to documentation, etc. */ description: string; } /** Determines how the proxy should cache third party responses */ export interface RemoteApiCachingConfig { /** When to cache */ cacheStrategy: RemoteApiCacheStrategy; /** Which TTL to use when caching */ ttlStrategy: RemoteApiCacheTTLStrategy; /** Custom TTL override value */ ttlSec: string; } /** Defines a remote API HTTP endpoint */ export interface RemoteApiHttpEndpoint { /** URL path of the endpoint; could be fixed or parameterized */ path: string; /** HTTP methods allowed for requests to this endpoint */ methods: RemoteApiHttpEndpoint_HttpRequestMethod[]; /** Parameters allowed for requests to this endpoint; required if path is parameterized */ parameters: RemoteApiHttpRequestParameter[]; /** Metadata */ metadata: RemoteApiEndpointMetadata | undefined; /** ID used by clients to refer to this endpoint */ refId: string; /** Type of the endpoint */ type: RemoteApiEndpointType; /** Serialized protobuf descriptor containing request and response types */ protoDescriptor: Uint8Array; /** (only for PROTO endpoints) Request proto message type name */ requestType: string; /** (only for PROTO endpoints) Response proto message type name */ responseType: string; /** (only for internal API endpoints) Whether the API uses internal proxy to get user location */ usesLocationProxy: boolean; /** Caching config */ cachingConfig: RemoteApiCachingConfig | undefined; /** (only for internal API endpoints) User location use case */ userLocationUseCase: UserLocationUseCase; /** Endpoint documentation link (optional) */ documentationLink: string; /** Endpoint use case description (optional) */ description: string; /** (only for PROTO endpoints) Used to configure visibility/macros of response proto fields */ responseParameters: RemoteApiHttpResponseParameter[]; /** * Validate body through Abuse Language Detection service before making request * * @deprecated */ reqAldRequestValidation: boolean; /** * Validate body through Abuse Language Detection service before returning response * * @deprecated */ reqAldResponseValidation: boolean; /** Which ALD context window to use for validation */ aldContextWindow: string; /** Which types of content in the request to run through ALD */ aldRequestConfigs: AldRequestValidationConfig[]; /** Which types of content in the response to run through ALD */ aldResponseConfigs: AldResponseValidationConfig[]; } /** Possible HTTP request method on an endpoint */ export declare enum RemoteApiHttpEndpoint_HttpRequestMethod { /** METHOD_UNSET - Undefined method */ METHOD_UNSET = "METHOD_UNSET", /** GET - HTTP GET */ GET = "GET", /** POST - HTTP POST */ POST = "POST", /** PUT - HTTP PUT */ PUT = "PUT", /** DELETE - HTTP DELETE */ DELETE = "DELETE", /** PATCH - HTTP PATCH */ PATCH = "PATCH", UNRECOGNIZED = "UNRECOGNIZED" } export declare function remoteApiHttpEndpoint_HttpRequestMethodFromJSON(object: any): RemoteApiHttpEndpoint_HttpRequestMethod; export declare function remoteApiHttpEndpoint_HttpRequestMethodToNumber(object: RemoteApiHttpEndpoint_HttpRequestMethod): number; /** Defines a remote API gRPC endpoint */ export interface RemoteApiGrpcEndpoint { /** Symbol of target method in the format of package.service.method */ methodSymbol: string; /** ID used by clients to refer to this endpoint */ refId: string; /** Request proto message type name */ requestType: string; /** Response proto message type name */ responseType: string; /** (only for internal API endpoints) Whether the API uses internal proxy to get user location */ usesLocationProxy: boolean; /** (only for internal API endpoints) User location use case */ userLocationUseCase: UserLocationUseCase; /** Endpoint documentation link (optional) */ documentationLink: string; /** Endpoint use case description (optional) */ description: string; /** Used to configure visibility/macros of response proto fields */ responseParameters: RemoteApiGrpcResponseParameter[]; /** Serialized protobuf descriptor containing request and response types */ protoDescriptor: Uint8Array; /** Request parameters for this gRPC endpoint (used to configure macros/optional fields) */ requestParameters: RemoteApiGrpcRequestParameter[]; } /** Represents names of fields in a proto response, as well as an optional macro value */ export interface RemoteApiGrpcResponseParameter { /** Unique name of the parameter */ name: string; /** Whether or not we want to expose this parameter in the final API response to user */ hidden: boolean; /** Specific macro values indicate certain parameters and types that we want to map this proto field to. */ macroValue: string; } /** Defines how a parameter is injected into an gRPC request */ export interface RemoteApiGrpcRequestParameter { /** Unique name of the parameter */ name: string; /** Is parameter optional */ optional: boolean; /** * Default value if the parameter is not set. Useful for "standard" headers like content-type * and other similar cases. If a default value is provided, the parameter will be sent with every request. * Required for constant parameters. */ defaultValue: string; /** * Constant parameters have the same predefined value for all requests and * are always set by the proxy. Not allowed to be overridden by the caller. */ constant: boolean; } /** Defines OAuth2-related configuration for a remote API */ export interface RemoteApiOAuth2Config { /** OAuth2 client identifier: https://tools.ietf.org/html/rfc6749#section-2.2 */ clientId: string; /** OAuth2 grant type required for the remote API */ grantType: RemoteApiOAuth2Config_GrantType; /** https://tools.ietf.org/html/rfc6749#section-3.1 */ authorizationUrl: string; /** https://tools.ietf.org/html/rfc6749#section-3.2 */ tokenUrl: string; /** https://tools.ietf.org/html/rfc6749#section-3.3 */ scope: string; /** https://datatracker.ietf.org/doc/html/rfc6749#section-2.3.1 */ clientSecret: string; } /** OAuth2 grant types supported by the remote-service feature */ export declare enum RemoteApiOAuth2Config_GrantType { /** GRANT_TYPE_UNSET - Undefined grant type */ GRANT_TYPE_UNSET = "GRANT_TYPE_UNSET", /** AUTHORIZATION_CODE - https://datatracker.ietf.org/doc/html/rfc6749#section-4.1 */ AUTHORIZATION_CODE = "AUTHORIZATION_CODE", /** AUTHORIZATION_CODE_WITH_PKCE - https://tools.ietf.org/html/rfc7636 */ AUTHORIZATION_CODE_WITH_PKCE = "AUTHORIZATION_CODE_WITH_PKCE", /** IMPLICIT - https://tools.ietf.org/html/rfc6749#section-4.2 */ IMPLICIT = "IMPLICIT", /** CLIENT_CREDENTIALS - https://tools.ietf.org/html/rfc6749#section-4.4 */ CLIENT_CREDENTIALS = "CLIENT_CREDENTIALS", UNRECOGNIZED = "UNRECOGNIZED" } export declare function remoteApiOAuth2Config_GrantTypeFromJSON(object: any): RemoteApiOAuth2Config_GrantType; export declare function remoteApiOAuth2Config_GrantTypeToNumber(object: RemoteApiOAuth2Config_GrantType): number; /** Defines security-related configuration of a remote API */ export interface RemoteApiSecurityConfig { /** Security scheme of the remote API */ securityScheme: RemoteApiSecurityConfig_SecurityScheme; configs?: { $case: "apiKeyParam"; apiKeyParam: RemoteApiHttpRequestParameter; } | { $case: "oauth2Config"; oauth2Config: RemoteApiOAuth2Config; } | { $case: "apiKeyConfig"; apiKeyConfig: RemoteApiKeyConfig; }; } /** Possible security schemes for a remote API */ export declare enum RemoteApiSecurityConfig_SecurityScheme { /** SCHEME_UNSET - Undefined scheme */ SCHEME_UNSET = "SCHEME_UNSET", /** NONE - No authentication is required */ NONE = "NONE", /** SNAP_TOKEN - Internal snap services using snap token */ SNAP_TOKEN = "SNAP_TOKEN", /** API_KEY - API that requires an api key */ API_KEY = "API_KEY", /** OAUTH2 - API that requires OAuth2 */ OAUTH2 = "OAUTH2", UNRECOGNIZED = "UNRECOGNIZED" } export declare function remoteApiSecurityConfig_SecuritySchemeFromJSON(object: any): RemoteApiSecurityConfig_SecurityScheme; export declare function remoteApiSecurityConfig_SecuritySchemeToNumber(object: RemoteApiSecurityConfig_SecurityScheme): number; /** Defines an API key-based security config */ export interface RemoteApiKeyConfig { /** Parameters through which secrets are provided to the API */ params: RemoteApiHttpRequestParameter[]; /** Secret values fetched from storage, keyed by param name */ secretValues: { [key: string]: string; }; } export interface RemoteApiKeyConfig_SecretValuesEntry { key: string; value: string; } /** Remote API spec metadata for internal usage */ export interface RemoteApiSpecMetadata { /** Human-readable name of the spec */ name: string; /** Who created the spec (email) */ author: string; /** When the spec was created (UTC timestamp) */ creationTimeSec: string; /** When the spec was last edited (UTC timestamp) */ lastEditTimeSec: string; /** Who last edited the spec (email) */ lastEditor: string; /** When the spec was last reviewed (UTC timestamp) */ reviewTimeSec: string; /** Who last reviewed the spec (email) */ reviewer: string; /** * ID of the secret that contains they API key(s) or other authentication data * in Spookey or another secret storage */ secretId: string; /** ID of the API spec, from which this one was derived (if any) */ derivedFromSpecId: string; /** Where was this API spec created from */ createdFrom: CreatedFrom; /** URL containing the icon of the API (e.g. in Bolt) */ iconUrl: string; /** Company or person providing the API */ providerName: string; /** Textual description for the API that may include links to documentation, etc. */ description: string; /** Link to API documentation */ documentationUrl: string; /** Link to internal quip documenting the API */ internalApiQuipUrl: string; /** Spec version */ version: string; } /** Defines a remote service with a list of endpoints and a single security configuration */ export interface RemoteApiSpec { /** ID of the API spec */ id: string; /** List of HTTP endpoints allowed by this API spec */ endpoints: RemoteApiHttpEndpoint[]; /** Security configuration of this API spec */ securityConfig: RemoteApiSecurityConfig | undefined; /** Hostname or hostname and port in format of host:port */ host: string; /** Defines if secured connection (HTTPS) must be forced */ tlsRequired: boolean; /** Specifies caller's max request size in bytes for any of defined endpoints (optional value) */ maxRequestSizeBytes: number; /** Specifies calle's max response size in bytes for any of defined endpoints (optional value) */ maxResponseSizeBytes: number; /** Specifies calle's max response time in millis for any of defined endpoints (optional value) */ maxResponseTimeMillis: number; /** Approval state of the spec */ approvalState: SpecApprovalState; /** Visibility of the spec */ visibility: SpecVisibility; /** Metadata */ metadata: RemoteApiSpecMetadata | undefined; /** Target platform of the spec */ targetPlatforms: TargetPlatform[]; /** List of user IDs that are given visibility to a spec (optional value) */ customVisibilityUsers: string[]; /** Whether or not this API actually goes through the remote-api service vs a local client handler (camera kit for example) */ localOnly: boolean; /** Approximate (within 1d) time that the spec was last accessed (UTC timestamp) */ lastAccessTimeSec: string; /** List of permissions. Empty list indicates no permission is granted. */ restrictedJsApiPermissions: RestrictedJsApiPermission[]; /** Minimum Lens Studio version that this spec will be shown in. (e.g. "4.10.0.0") */ minLensStudioVersion: string; /** Whether or not this spec is restricted from being used in a sponsored lens */ sponsoredLensRestricted: boolean; /** List of user IDs that are given edit permissions to a spec (optional value) */ editPermissionUsers: string[]; /** List of gRPC endpoints allowed by this API spec */ grpcEndpoints: RemoteApiGrpcEndpoint[]; /** (CameraKit Only) Snap Kit app ID is a metadata field that associates the spec with camera kit app */ snapkitAppId: string; /** (CameraKit Only) - Whether this API uses the Camera Kit built-in local processor or the processor provided by a Camera Kit partner */ useBuiltinLocalProcessor: boolean; /** An id of organization who own the spec */ orgId: string; } /** [Deprecated] Remote API spec set metadata for internal usage (services within Snap) */ export interface RemoteApiSpecSetMetadata { /** Human-readable name of the API (e.g. "Weather API") */ name: string; /** URL containing the icon of the API (e.g. in Bolt) */ iconUrl: string; /** Company or person providing the API */ providerName: string; /** Textual description for the API that may include links to documentation, etc. */ description: string; /** Who created the spec set (email) */ author: string; /** When the spec set was created (UTC timestamp) */ creationTimeSec: string; /** When the spec set was last edited (UTC timestamp) */ lastEditTimeSec: string; /** Who last edited the spec set (email) */ lastEditor: string; /** Link to API documentation */ documentationUrl: string; /** Where was this API spec created from */ createdFrom: CreatedFrom; } /** [Deprecated] Defines a remote API as a collection of services that are meant to be used together */ export interface RemoteApiSpecSet { /** ID of the spec set */ id: string; /** Service specifications */ specs: RemoteApiSpec[]; /** Metadata */ metadata: RemoteApiSpecSetMetadata | undefined; /** Approximate (within 1d) time that the spec was last accessed (UTC timestamp) */ lastAccessTimeSec: string; } export declare const RemoteApiHttpRequestParameter: { encode(message: RemoteApiHttpRequestParameter, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiHttpRequestParameter; fromPartial<I extends { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & Record<Exclude<keyof I, keyof RemoteApiHttpRequestParameter>, never>>(object: I): RemoteApiHttpRequestParameter; }; export declare const RemoteApiHttpResponseParameter: { encode(message: RemoteApiHttpResponseParameter, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiHttpResponseParameter; fromPartial<I extends { name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; } & { name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; } & Record<Exclude<keyof I, keyof RemoteApiHttpResponseParameter>, never>>(object: I): RemoteApiHttpResponseParameter; }; export declare const RemoteApiEndpointMetadata: { encode(message: RemoteApiEndpointMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiEndpointMetadata; fromPartial<I extends { name?: string | undefined; description?: string | undefined; } & { name?: string | undefined; description?: string | undefined; } & Record<Exclude<keyof I, keyof RemoteApiEndpointMetadata>, never>>(object: I): RemoteApiEndpointMetadata; }; export declare const RemoteApiCachingConfig: { encode(message: RemoteApiCachingConfig, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiCachingConfig; fromPartial<I extends { cacheStrategy?: RemoteApiCacheStrategy | undefined; ttlStrategy?: RemoteApiCacheTTLStrategy | undefined; ttlSec?: string | undefined; } & { cacheStrategy?: RemoteApiCacheStrategy | undefined; ttlStrategy?: RemoteApiCacheTTLStrategy | undefined; ttlSec?: string | undefined; } & Record<Exclude<keyof I, keyof RemoteApiCachingConfig>, never>>(object: I): RemoteApiCachingConfig; }; export declare const RemoteApiHttpEndpoint: { encode(message: RemoteApiHttpEndpoint, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiHttpEndpoint; fromPartial<I extends { path?: string | undefined; methods?: RemoteApiHttpEndpoint_HttpRequestMethod[] | undefined; parameters?: { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[] | undefined; metadata?: { name?: string | undefined; description?: string | undefined; } | undefined; refId?: string | undefined; type?: RemoteApiEndpointType | undefined; protoDescriptor?: Uint8Array | undefined; requestType?: string | undefined; responseType?: string | undefined; usesLocationProxy?: boolean | undefined; cachingConfig?: { cacheStrategy?: RemoteApiCacheStrategy | undefined; ttlStrategy?: RemoteApiCacheTTLStrategy | undefined; ttlSec?: string | undefined; } | undefined; userLocationUseCase?: UserLocationUseCase | undefined; documentationLink?: string | undefined; description?: string | undefined; responseParameters?: { name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; }[] | undefined; reqAldRequestValidation?: boolean | undefined; reqAldResponseValidation?: boolean | undefined; aldContextWindow?: string | undefined; aldRequestConfigs?: AldRequestValidationConfig[] | undefined; aldResponseConfigs?: AldResponseValidationConfig[] | undefined; } & { path?: string | undefined; methods?: (RemoteApiHttpEndpoint_HttpRequestMethod[] & RemoteApiHttpEndpoint_HttpRequestMethod[] & Record<Exclude<keyof I["methods"], keyof RemoteApiHttpEndpoint_HttpRequestMethod[]>, never>) | undefined; parameters?: ({ name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[] & ({ name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & Record<Exclude<keyof I["parameters"][number], keyof RemoteApiHttpRequestParameter>, never>)[] & Record<Exclude<keyof I["parameters"], keyof { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[]>, never>) | undefined; metadata?: ({ name?: string | undefined; description?: string | undefined; } & { name?: string | undefined; description?: string | undefined; } & Record<Exclude<keyof I["metadata"], keyof RemoteApiEndpointMetadata>, never>) | undefined; refId?: string | undefined; type?: RemoteApiEndpointType | undefined; protoDescriptor?: Uint8Array | undefined; requestType?: string | undefined; responseType?: string | undefined; usesLocationProxy?: boolean | undefined; cachingConfig?: ({ cacheStrategy?: RemoteApiCacheStrategy | undefined; ttlStrategy?: RemoteApiCacheTTLStrategy | undefined; ttlSec?: string | undefined; } & { cacheStrategy?: RemoteApiCacheStrategy | undefined; ttlStrategy?: RemoteApiCacheTTLStrategy | undefined; ttlSec?: string | undefined; } & Record<Exclude<keyof I["cachingConfig"], keyof RemoteApiCachingConfig>, never>) | undefined; userLocationUseCase?: UserLocationUseCase | undefined; documentationLink?: string | undefined; description?: string | undefined; responseParameters?: ({ name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; }[] & ({ name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; } & { name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; } & Record<Exclude<keyof I["responseParameters"][number], keyof RemoteApiHttpResponseParameter>, never>)[] & Record<Exclude<keyof I["responseParameters"], keyof { name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; }[]>, never>) | undefined; reqAldRequestValidation?: boolean | undefined; reqAldResponseValidation?: boolean | undefined; aldContextWindow?: string | undefined; aldRequestConfigs?: (AldRequestValidationConfig[] & AldRequestValidationConfig[] & Record<Exclude<keyof I["aldRequestConfigs"], keyof AldRequestValidationConfig[]>, never>) | undefined; aldResponseConfigs?: (AldResponseValidationConfig[] & AldResponseValidationConfig[] & Record<Exclude<keyof I["aldResponseConfigs"], keyof AldResponseValidationConfig[]>, never>) | undefined; } & Record<Exclude<keyof I, keyof RemoteApiHttpEndpoint>, never>>(object: I): RemoteApiHttpEndpoint; }; export declare const RemoteApiGrpcEndpoint: { encode(message: RemoteApiGrpcEndpoint, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiGrpcEndpoint; fromPartial<I extends { methodSymbol?: string | undefined; refId?: string | undefined; requestType?: string | undefined; responseType?: string | undefined; usesLocationProxy?: boolean | undefined; userLocationUseCase?: UserLocationUseCase | undefined; documentationLink?: string | undefined; description?: string | undefined; responseParameters?: { name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; }[] | undefined; protoDescriptor?: Uint8Array | undefined; requestParameters?: { name?: string | undefined; optional?: boolean | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[] | undefined; } & { methodSymbol?: string | undefined; refId?: string | undefined; requestType?: string | undefined; responseType?: string | undefined; usesLocationProxy?: boolean | undefined; userLocationUseCase?: UserLocationUseCase | undefined; documentationLink?: string | undefined; description?: string | undefined; responseParameters?: ({ name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; }[] & ({ name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; } & { name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; } & Record<Exclude<keyof I["responseParameters"][number], keyof RemoteApiGrpcResponseParameter>, never>)[] & Record<Exclude<keyof I["responseParameters"], keyof { name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; }[]>, never>) | undefined; protoDescriptor?: Uint8Array | undefined; requestParameters?: ({ name?: string | undefined; optional?: boolean | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[] & ({ name?: string | undefined; optional?: boolean | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & { name?: string | undefined; optional?: boolean | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & Record<Exclude<keyof I["requestParameters"][number], keyof RemoteApiGrpcRequestParameter>, never>)[] & Record<Exclude<keyof I["requestParameters"], keyof { name?: string | undefined; optional?: boolean | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I, keyof RemoteApiGrpcEndpoint>, never>>(object: I): RemoteApiGrpcEndpoint; }; export declare const RemoteApiGrpcResponseParameter: { encode(message: RemoteApiGrpcResponseParameter, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiGrpcResponseParameter; fromPartial<I extends { name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; } & { name?: string | undefined; hidden?: boolean | undefined; macroValue?: string | undefined; } & Record<Exclude<keyof I, keyof RemoteApiGrpcResponseParameter>, never>>(object: I): RemoteApiGrpcResponseParameter; }; export declare const RemoteApiGrpcRequestParameter: { encode(message: RemoteApiGrpcRequestParameter, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiGrpcRequestParameter; fromPartial<I extends { name?: string | undefined; optional?: boolean | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & { name?: string | undefined; optional?: boolean | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & Record<Exclude<keyof I, keyof RemoteApiGrpcRequestParameter>, never>>(object: I): RemoteApiGrpcRequestParameter; }; export declare const RemoteApiOAuth2Config: { encode(message: RemoteApiOAuth2Config, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiOAuth2Config; fromPartial<I extends { clientId?: string | undefined; grantType?: RemoteApiOAuth2Config_GrantType | undefined; authorizationUrl?: string | undefined; tokenUrl?: string | undefined; scope?: string | undefined; clientSecret?: string | undefined; } & { clientId?: string | undefined; grantType?: RemoteApiOAuth2Config_GrantType | undefined; authorizationUrl?: string | undefined; tokenUrl?: string | undefined; scope?: string | undefined; clientSecret?: string | undefined; } & Record<Exclude<keyof I, keyof RemoteApiOAuth2Config>, never>>(object: I): RemoteApiOAuth2Config; }; export declare const RemoteApiSecurityConfig: { encode(message: RemoteApiSecurityConfig, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiSecurityConfig; fromPartial<I extends { securityScheme?: RemoteApiSecurityConfig_SecurityScheme | undefined; configs?: ({ apiKeyParam?: { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } | undefined; } & { $case: "apiKeyParam"; }) | ({ oauth2Config?: { clientId?: string | undefined; grantType?: RemoteApiOAuth2Config_GrantType | undefined; authorizationUrl?: string | undefined; tokenUrl?: string | undefined; scope?: string | undefined; clientSecret?: string | undefined; } | undefined; } & { $case: "oauth2Config"; }) | ({ apiKeyConfig?: { params?: { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[] | undefined; secretValues?: { [x: string]: string | undefined; } | undefined; } | undefined; } & { $case: "apiKeyConfig"; }) | undefined; } & { securityScheme?: RemoteApiSecurityConfig_SecurityScheme | undefined; configs?: ({ apiKeyParam?: { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } | undefined; } & { $case: "apiKeyParam"; } & { apiKeyParam?: ({ name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & Record<Exclude<keyof I["configs"]["apiKeyParam"], keyof RemoteApiHttpRequestParameter>, never>) | undefined; $case: "apiKeyParam"; } & Record<Exclude<keyof I["configs"], "$case" | "apiKeyParam">, never>) | ({ oauth2Config?: { clientId?: string | undefined; grantType?: RemoteApiOAuth2Config_GrantType | undefined; authorizationUrl?: string | undefined; tokenUrl?: string | undefined; scope?: string | undefined; clientSecret?: string | undefined; } | undefined; } & { $case: "oauth2Config"; } & { oauth2Config?: ({ clientId?: string | undefined; grantType?: RemoteApiOAuth2Config_GrantType | undefined; authorizationUrl?: string | undefined; tokenUrl?: string | undefined; scope?: string | undefined; clientSecret?: string | undefined; } & { clientId?: string | undefined; grantType?: RemoteApiOAuth2Config_GrantType | undefined; authorizationUrl?: string | undefined; tokenUrl?: string | undefined; scope?: string | undefined; clientSecret?: string | undefined; } & Record<Exclude<keyof I["configs"]["oauth2Config"], keyof RemoteApiOAuth2Config>, never>) | undefined; $case: "oauth2Config"; } & Record<Exclude<keyof I["configs"], "$case" | "oauth2Config">, never>) | ({ apiKeyConfig?: { params?: { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[] | undefined; secretValues?: { [x: string]: string | undefined; } | undefined; } | undefined; } & { $case: "apiKeyConfig"; } & { apiKeyConfig?: ({ params?: { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[] | undefined; secretValues?: { [x: string]: string | undefined; } | undefined; } & { params?: ({ name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[] & ({ name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & Record<Exclude<keyof I["configs"]["apiKeyConfig"]["params"][number], keyof RemoteApiHttpRequestParameter>, never>)[] & Record<Exclude<keyof I["configs"]["apiKeyConfig"]["params"], keyof { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[]>, never>) | undefined; secretValues?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record<Exclude<keyof I["configs"]["apiKeyConfig"]["secretValues"], string | number>, never>) | undefined; } & Record<Exclude<keyof I["configs"]["apiKeyConfig"], keyof RemoteApiKeyConfig>, never>) | undefined; $case: "apiKeyConfig"; } & Record<Exclude<keyof I["configs"], "$case" | "apiKeyConfig">, never>) | undefined; } & Record<Exclude<keyof I, keyof RemoteApiSecurityConfig>, never>>(object: I): RemoteApiSecurityConfig; }; export declare const RemoteApiKeyConfig: { encode(message: RemoteApiKeyConfig, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RemoteApiKeyConfig; fromPartial<I extends { params?: { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[] | undefined; secretValues?: { [x: string]: string | undefined; } | undefined; } & { params?: ({ name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[] & ({ name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; } & Record<Exclude<keyof I["params"][number], keyof RemoteApiHttpRequestParameter>, never>)[] & Record<Exclude<keyof I["params"], keyof { name?: string | undefined; location?: RemoteApiHttpRequestParameter_ParameterLocation | undefined; optional?: boolean | undefined; externalName?: string | undefined; defaultValue?: string | undefined; constant?: boolean | undefined; }[]>, never>) | undefined; secretValues?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record<Exclude<keyof I["secretValues"], string | number>, never>) | undefined; } & Record<Exclude<keyof I, keyof RemoteApiKeyConfig>, never>>(object: I): RemoteApiKeyConfig; }; export declare const RemoteApiKeyConfig_SecretValuesEntry: { encode(message: RemoteApiKeyConfig