import { PagedAsyncIterableIterator } from "@azure/core-paging";
import { LogProfiles } from "../operationsInterfaces";
import { MonitorClient } from "../monitorClient";
import { LogProfileResource, LogProfilesListOptionalParams, LogProfilesDeleteOptionalParams, LogProfilesGetOptionalParams, LogProfilesGetResponse, LogProfilesCreateOrUpdateOptionalParams, LogProfilesCreateOrUpdateResponse, LogProfileResourcePatch, LogProfilesUpdateOptionalParams, LogProfilesUpdateResponse } from "../models";
/** Class containing LogProfiles operations. */
export declare class LogProfilesImpl implements LogProfiles {
    private readonly client;
    /**
     * Initialize a new instance of the class LogProfiles class.
     * @param client Reference to the service client
     */
    constructor(client: MonitorClient);
    /**
     * List the log profiles.
     * @param options The options parameters.
     */
    list(options?: LogProfilesListOptionalParams): PagedAsyncIterableIterator<LogProfileResource>;
    private listPagingPage;
    private listPagingAll;
    /**
     * Deletes the log profile.
     * @param logProfileName The name of the log profile.
     * @param options The options parameters.
     */
    delete(logProfileName: string, options?: LogProfilesDeleteOptionalParams): Promise<void>;
    /**
     * Gets the log profile.
     * @param logProfileName The name of the log profile.
     * @param options The options parameters.
     */
    get(logProfileName: string, options?: LogProfilesGetOptionalParams): Promise<LogProfilesGetResponse>;
    /**
     * Create or update a log profile in Azure Monitoring REST API.
     * @param logProfileName The name of the log profile.
     * @param parameters Parameters supplied to the operation.
     * @param options The options parameters.
     */
    createOrUpdate(logProfileName: string, parameters: LogProfileResource, options?: LogProfilesCreateOrUpdateOptionalParams): Promise<LogProfilesCreateOrUpdateResponse>;
    /**
     * Updates an existing LogProfilesResource. To update other fields use the CreateOrUpdate method.
     * @param logProfileName The name of the log profile.
     * @param logProfilesResource Parameters supplied to the operation.
     * @param options The options parameters.
     */
    update(logProfileName: string, logProfilesResource: LogProfileResourcePatch, options?: LogProfilesUpdateOptionalParams): Promise<LogProfilesUpdateResponse>;
    /**
     * List the log profiles.
     * @param options The options parameters.
     */
    private _list;
}
//# sourceMappingURL=logProfiles.d.ts.map