import { ServiceType } from "@protobuf-ts/runtime-rpc";
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 { Invoice } from "../resources/invoice";
import { MonthOfYearEnum_MonthOfYear } from "../enums/month_of_year";
/**
 * Request message for fetching the invoices of a given billing setup that were
 * issued during a given month.
 *
 * @generated from protobuf message google.ads.googleads.v11.services.ListInvoicesRequest
 */
export interface ListInvoicesRequest {
    /**
     * Required. The ID of the customer to fetch invoices for.
     *
     * @generated from protobuf field: string customer_id = 1;
     */
    customerId: string;
    /**
     * Required. The billing setup resource name of the requested invoices.
     *
     * `customers/{customer_id}/billingSetups/{billing_setup_id}`
     *
     * @generated from protobuf field: string billing_setup = 2;
     */
    billingSetup: string;
    /**
     * Required. The issue year to retrieve invoices, in yyyy format. Only
     * invoices issued in 2019 or later can be retrieved.
     *
     * @generated from protobuf field: string issue_year = 3;
     */
    issueYear: string;
    /**
     * Required. The issue month to retrieve invoices.
     *
     * @generated from protobuf field: google.ads.googleads.v11.enums.MonthOfYearEnum.MonthOfYear issue_month = 4;
     */
    issueMonth: MonthOfYearEnum_MonthOfYear;
}
/**
 * Response message for [InvoiceService.ListInvoices][google.ads.googleads.v11.services.InvoiceService.ListInvoices].
 *
 * @generated from protobuf message google.ads.googleads.v11.services.ListInvoicesResponse
 */
export interface ListInvoicesResponse {
    /**
     * The list of invoices that match the billing setup and time period.
     *
     * @generated from protobuf field: repeated google.ads.googleads.v11.resources.Invoice invoices = 1;
     */
    invoices: Invoice[];
}
declare class ListInvoicesRequest$Type extends MessageType<ListInvoicesRequest> {
    constructor();
    create(value?: PartialMessage<ListInvoicesRequest>): ListInvoicesRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListInvoicesRequest): ListInvoicesRequest;
    internalBinaryWrite(message: ListInvoicesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.ListInvoicesRequest
 */
export declare const ListInvoicesRequest: ListInvoicesRequest$Type;
declare class ListInvoicesResponse$Type extends MessageType<ListInvoicesResponse> {
    constructor();
    create(value?: PartialMessage<ListInvoicesResponse>): ListInvoicesResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListInvoicesResponse): ListInvoicesResponse;
    internalBinaryWrite(message: ListInvoicesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.services.ListInvoicesResponse
 */
export declare const ListInvoicesResponse: ListInvoicesResponse$Type;
/**
 * @generated ServiceType for protobuf service google.ads.googleads.v11.services.InvoiceService
 */
export declare const InvoiceService: ServiceType;
export {};
