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 { CriterionCategoryAvailability } from "../common/criterion_category_availability";
import { UserInterestTaxonomyTypeEnum_UserInterestTaxonomyType } from "../enums/user_interest_taxonomy_type";
/**
 * A user interest: a particular interest-based vertical to be targeted.
 *
 * @generated from protobuf message google.ads.googleads.v11.resources.UserInterest
 */
export interface UserInterest {
    /**
     * Output only. The resource name of the user interest.
     * User interest resource names have the form:
     *
     * `customers/{customer_id}/userInterests/{user_interest_id}`
     *
     * @generated from protobuf field: string resource_name = 1;
     */
    resourceName: string;
    /**
     * Output only. Taxonomy type of the user interest.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2;
     */
    taxonomyType: UserInterestTaxonomyTypeEnum_UserInterestTaxonomyType;
    /**
     * Output only. The ID of the user interest.
     *
     * @generated from protobuf field: optional int64 user_interest_id = 8;
     */
    userInterestId?: bigint;
    /**
     * Output only. The name of the user interest.
     *
     * @generated from protobuf field: optional string name = 9;
     */
    name?: string;
    /**
     * Output only. The parent of the user interest.
     *
     * @generated from protobuf field: optional string user_interest_parent = 10;
     */
    userInterestParent?: string;
    /**
     * Output only. True if the user interest is launched to all channels and locales.
     *
     * @generated from protobuf field: optional bool launched_to_all = 11;
     */
    launchedToAll?: boolean;
    /**
     * Output only. Availability information of the user interest.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.common.CriterionCategoryAvailability availabilities = 7;
     */
    availabilities: CriterionCategoryAvailability[];
}
declare class UserInterest$Type extends MessageType<UserInterest> {
    constructor();
    create(value?: PartialMessage<UserInterest>): UserInterest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserInterest): UserInterest;
    internalBinaryWrite(message: UserInterest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.resources.UserInterest
 */
export declare const UserInterest: UserInterest$Type;
export {};
