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";
import { AdAssetPolicySummary } from "./asset_policy";
import { AssetPerformanceLabelEnum_AssetPerformanceLabel } from "../enums/asset_performance_label";
import { ServedAssetFieldTypeEnum_ServedAssetFieldType } from "../enums/served_asset_field_type";
/**
 * A text asset used inside an ad.
 *
 * @generated from protobuf message google.ads.googleads.v11.common.AdTextAsset
 */
export interface AdTextAsset {
    /**
     * Asset text.
     *
     * @generated from protobuf field: optional string text = 4;
     */
    text?: string;
    /**
     * The pinned field of the asset. This restricts the asset to only serve
     * within this field. Multiple assets can be pinned to the same field. An
     * asset that is unpinned or pinned to a different field will not serve in a
     * field where some other asset has been pinned.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.ServedAssetFieldTypeEnum.ServedAssetFieldType pinned_field = 2;
     */
    pinnedField: ServedAssetFieldTypeEnum_ServedAssetFieldType;
    /**
     * The performance label of this text asset.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.AssetPerformanceLabelEnum.AssetPerformanceLabel asset_performance_label = 5;
     */
    assetPerformanceLabel: AssetPerformanceLabelEnum_AssetPerformanceLabel;
    /**
     * The policy summary of this text asset.
     *
     * @generated from protobuf field: google.ads.googleads.v11.common.AdAssetPolicySummary policy_summary_info = 6;
     */
    policySummaryInfo?: AdAssetPolicySummary;
}
/**
 * An image asset used inside an ad.
 *
 * @generated from protobuf message google.ads.googleads.v11.common.AdImageAsset
 */
export interface AdImageAsset {
    /**
     * The Asset resource name of this image.
     *
     * @generated from protobuf field: optional string asset = 2;
     */
    asset?: string;
}
/**
 * A video asset used inside an ad.
 *
 * @generated from protobuf message google.ads.googleads.v11.common.AdVideoAsset
 */
export interface AdVideoAsset {
    /**
     * The Asset resource name of this video.
     *
     * @generated from protobuf field: optional string asset = 2;
     */
    asset?: string;
}
/**
 * A media bundle asset used inside an ad.
 *
 * @generated from protobuf message google.ads.googleads.v11.common.AdMediaBundleAsset
 */
export interface AdMediaBundleAsset {
    /**
     * The Asset resource name of this media bundle.
     *
     * @generated from protobuf field: optional string asset = 2;
     */
    asset?: string;
}
/**
 * A discovery carousel card asset used inside an ad.
 *
 * @generated from protobuf message google.ads.googleads.v11.common.AdDiscoveryCarouselCardAsset
 */
export interface AdDiscoveryCarouselCardAsset {
    /**
     * The Asset resource name of this discovery carousel card.
     *
     * @generated from protobuf field: optional string asset = 1;
     */
    asset?: string;
}
declare class AdTextAsset$Type extends MessageType<AdTextAsset> {
    constructor();
    create(value?: PartialMessage<AdTextAsset>): AdTextAsset;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AdTextAsset): AdTextAsset;
    internalBinaryWrite(message: AdTextAsset, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.AdTextAsset
 */
export declare const AdTextAsset: AdTextAsset$Type;
declare class AdImageAsset$Type extends MessageType<AdImageAsset> {
    constructor();
    create(value?: PartialMessage<AdImageAsset>): AdImageAsset;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AdImageAsset): AdImageAsset;
    internalBinaryWrite(message: AdImageAsset, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.AdImageAsset
 */
export declare const AdImageAsset: AdImageAsset$Type;
declare class AdVideoAsset$Type extends MessageType<AdVideoAsset> {
    constructor();
    create(value?: PartialMessage<AdVideoAsset>): AdVideoAsset;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AdVideoAsset): AdVideoAsset;
    internalBinaryWrite(message: AdVideoAsset, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.AdVideoAsset
 */
export declare const AdVideoAsset: AdVideoAsset$Type;
declare class AdMediaBundleAsset$Type extends MessageType<AdMediaBundleAsset> {
    constructor();
    create(value?: PartialMessage<AdMediaBundleAsset>): AdMediaBundleAsset;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AdMediaBundleAsset): AdMediaBundleAsset;
    internalBinaryWrite(message: AdMediaBundleAsset, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.AdMediaBundleAsset
 */
export declare const AdMediaBundleAsset: AdMediaBundleAsset$Type;
declare class AdDiscoveryCarouselCardAsset$Type extends MessageType<AdDiscoveryCarouselCardAsset> {
    constructor();
    create(value?: PartialMessage<AdDiscoveryCarouselCardAsset>): AdDiscoveryCarouselCardAsset;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AdDiscoveryCarouselCardAsset): AdDiscoveryCarouselCardAsset;
    internalBinaryWrite(message: AdDiscoveryCarouselCardAsset, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.AdDiscoveryCarouselCardAsset
 */
export declare const AdDiscoveryCarouselCardAsset: AdDiscoveryCarouselCardAsset$Type;
export {};
