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 { MonthOfYearEnum_MonthOfYear } from "../enums/month_of_year";
/**
 * A date range.
 *
 * @generated from protobuf message google.ads.googleads.v11.common.DateRange
 */
export interface DateRange {
    /**
     * The start date, in yyyy-mm-dd format. This date is inclusive.
     *
     * @generated from protobuf field: optional string start_date = 3;
     */
    startDate?: string;
    /**
     * The end date, in yyyy-mm-dd format. This date is inclusive.
     *
     * @generated from protobuf field: optional string end_date = 4;
     */
    endDate?: string;
}
/**
 * The year month range inclusive of the start and end months.
 * Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020).
 *
 * @generated from protobuf message google.ads.googleads.v11.common.YearMonthRange
 */
export interface YearMonthRange {
    /**
     * The inclusive start year month.
     *
     * @generated from protobuf field: google.ads.googleads.v11.common.YearMonth start = 1;
     */
    start?: YearMonth;
    /**
     * The inclusive end year month.
     *
     * @generated from protobuf field: google.ads.googleads.v11.common.YearMonth end = 2;
     */
    end?: YearMonth;
}
/**
 * Year month.
 *
 * @generated from protobuf message google.ads.googleads.v11.common.YearMonth
 */
export interface YearMonth {
    /**
     * The year (for example, 2020).
     *
     * @generated from protobuf field: int64 year = 1;
     */
    year: bigint;
    /**
     * The month of the year. (for example, FEBRUARY).
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.MonthOfYearEnum.MonthOfYear month = 2;
     */
    month: MonthOfYearEnum_MonthOfYear;
}
declare class DateRange$Type extends MessageType<DateRange> {
    constructor();
    create(value?: PartialMessage<DateRange>): DateRange;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DateRange): DateRange;
    internalBinaryWrite(message: DateRange, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.DateRange
 */
export declare const DateRange: DateRange$Type;
declare class YearMonthRange$Type extends MessageType<YearMonthRange> {
    constructor();
    create(value?: PartialMessage<YearMonthRange>): YearMonthRange;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: YearMonthRange): YearMonthRange;
    internalBinaryWrite(message: YearMonthRange, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.YearMonthRange
 */
export declare const YearMonthRange: YearMonthRange$Type;
declare class YearMonth$Type extends MessageType<YearMonth> {
    constructor();
    create(value?: PartialMessage<YearMonth>): YearMonth;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: YearMonth): YearMonth;
    internalBinaryWrite(message: YearMonth, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.common.YearMonth
 */
export declare const YearMonth: YearMonth$Type;
export {};
