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 { AudienceExclusionDimension } from "../common/audiences";
import { AudienceDimension } from "../common/audiences";
import { AudienceStatusEnum_AudienceStatus } from "../enums/audience_status";
/**
 * Audience is an effective targeting option that lets you
 * intersect different segment attributes, such as detailed demographics and
 * affinities, to create audiences that represent sections of your target
 * segments.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.Audience
 */
export interface Audience {
    /**
     * Immutable. The resource name of the audience.
     * Audience names have the form:
     *
     * `customers/{customer_id}/audiences/{audience_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Output only. ID of the audience.
     *
     * @generated from protobuf field: int64 id = 2;
     */
    id: bigint;
    /**
     * Output only. Status of this audience. Indicates whether the audience
     * is enabled or removed.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.AudienceStatusEnum.AudienceStatus status = 3;
     */
    status: AudienceStatusEnum_AudienceStatus;
    /**
     * Required. Name of the audience. It should be unique across all
     * audiences. It must have a minimum length of 1 and
     * maximum length of 255.
     *
     * @generated from protobuf field: string name = 4;
     */
    name: string;
    /**
     * Description of this audience.
     *
     * @generated from protobuf field: string description = 5;
     */
    description: string;
    /**
     * Positive dimensions specifying the audience composition.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.common.AudienceDimension dimensions = 6;
     */
    dimensions: AudienceDimension[];
    /**
     * Negative dimension specifying the audience composition.
     *
     * @generated from protobuf field: google.ads.googleads.v11.common.AudienceExclusionDimension exclusion_dimension = 7;
     */
    exclusionDimension?: AudienceExclusionDimension;
}
declare class Audience$Type extends MessageType<Audience> {
    constructor();
    create(value?: PartialMessage<Audience>): Audience;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Audience): Audience;
    internalBinaryWrite(message: Audience, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Audience
 */
export declare const Audience: Audience$Type;
export {};
