/*!
 * Copyright (C) Microsoft Corporation. All rights reserved.
 */
import type { PowerAppsRepoConfig } from '@microsoft/power-apps-actions';
import type { Region } from '@microsoft/power-apps-common/services';
import type { ArgumentProvider } from '../ArgumentProvider.js';
import type { CliFS } from '../FS/CliFs.js';
export interface IAuthenticationProvider {
    initAsync(region: Region): Promise<void>;
    getAccessTokenForResource(resource: string): Promise<string>;
    getUserTenantId(): string | undefined;
}
export type Verb = 'init' | 'push' | 'run' | 'add-data-source' | 'add-dataverse-api' | 'create-connection' | 'find-dataverse-api' | 'list-codeapps' | 'list-datasets' | 'list-tables' | 'list-sqlStoredProcedures' | 'delete-data-source' | 'list-environment-variables' | 'list-connection-references' | 'list-connections' | 'list-flows' | 'add-flow' | 'remove-flow' | 'refresh-data-source' | 'logout' | 'telemetry';
export type CliSettings = {
    source: 'pac-cli' | 'standalone';
    interactive: boolean;
    fileConfig: LocalFilePaths;
    cliFs: CliFS;
    appConfig?: PowerAppsRepoConfig;
};
export type LocalFilePaths = {
    powerConfigPath: string;
    schemaPath: string;
    codeGenPath: string;
};
export type ExecuteVerbConfig = {
    verb: Verb;
    argumentProvider: ArgumentProvider;
};
export type UserTelemetrySettings = {
    enabled: boolean;
    consoleOnly: boolean;
    outputToConsole: boolean;
};
//# sourceMappingURL=Cli.types.d.ts.map