google-ads-api-client
Version:
A friendly and exhaustive client to the google-ads-api, code generated directly from google's published protobuf schema.
100 lines (99 loc) • 3.86 kB
TypeScript
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
/**
* `Visibility` defines restrictions for the visibility of service
* elements. Restrictions are specified using visibility labels
* (e.g., PREVIEW) that are elsewhere linked to users and projects.
*
* Users and projects can have access to more than one visibility label. The
* effective visibility for multiple labels is the union of each label's
* elements, plus any unrestricted elements.
*
* If an element and its parents have no restrictions, visibility is
* unconditionally granted.
*
* Example:
*
* visibility:
* rules:
* - selector: google.calendar.Calendar.EnhancedSearch
* restriction: PREVIEW
* - selector: google.calendar.Calendar.Delegate
* restriction: INTERNAL
*
* Here, all methods are publicly visible except for the restricted methods
* EnhancedSearch and Delegate.
*
* @generated from protobuf message google.api.Visibility
*/
export interface Visibility {
/**
* A list of visibility rules that apply to individual API elements.
*
* **NOTE:** All service configuration rules follow "last one wins" order.
*
* @generated from protobuf field: repeated google.api.VisibilityRule rules = 1;
*/
rules: VisibilityRule[];
}
/**
* A visibility rule provides visibility configuration for an individual API
* element.
*
* @generated from protobuf message google.api.VisibilityRule
*/
export interface VisibilityRule {
/**
* Selects methods, messages, fields, enums, etc. to which this rule applies.
*
* Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
*
* @generated from protobuf field: string selector = 1;
*/
selector: string;
/**
* A comma-separated list of visibility labels that apply to the `selector`.
* Any of the listed labels can be used to grant the visibility.
*
* If a rule has multiple labels, removing one of the labels but not all of
* them can break clients.
*
* Example:
*
* visibility:
* rules:
* - selector: google.calendar.Calendar.EnhancedSearch
* restriction: INTERNAL, PREVIEW
*
* Removing INTERNAL from this restriction will break clients that rely on
* this method and only had access to it through INTERNAL.
*
* @generated from protobuf field: string restriction = 2;
*/
restriction: string;
}
declare class Visibility$Type extends MessageType<Visibility> {
constructor();
create(value?: PartialMessage<Visibility>): Visibility;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Visibility): Visibility;
internalBinaryWrite(message: Visibility, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.Visibility
*/
export declare const Visibility: Visibility$Type;
declare class VisibilityRule$Type extends MessageType<VisibilityRule> {
constructor();
create(value?: PartialMessage<VisibilityRule>): VisibilityRule;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VisibilityRule): VisibilityRule;
internalBinaryWrite(message: VisibilityRule, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.api.VisibilityRule
*/
export declare const VisibilityRule: VisibilityRule$Type;
export {};