/// <reference types="react" />
import * as react from 'react';
import react__default, { PropsWithChildren, ComponentProps, HTMLAttributes, ReactNode } from 'react';
import { QueryClient, UseQueryResult, QueryKey, UseQueryOptions, QueryFunctionContext } from '@tanstack/react-query';
import * as valibot from 'valibot';
import { Output } from 'valibot';
import * as _material_ui_core from '@material-ui/core';
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
import { AxiosInstance } from 'axios';
import dayjs from 'dayjs';

interface ACLAvailable {
    readonly users: readonly ReducedUser[];
    readonly groups: readonly Group[];
}
interface APIKey {
    readonly id: string;
    readonly user_id: string;
    readonly last_used: string;
    readonly expires_at: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly login_type: LoginType;
    readonly scope: APIKeyScope;
    readonly token_name: string;
    readonly lifetime_seconds: number;
}
interface APIKeyWithOwner extends APIKey {
    readonly username: string;
}
interface AddLicenseRequest {
    readonly license: string;
}
interface AgentStatsReportResponse {
    readonly num_comms: number;
    readonly rx_bytes: number;
    readonly tx_bytes: number;
}
interface AppHostResponse {
    readonly host: string;
}
interface AppearanceConfig {
    readonly application_name: string;
    readonly logo_url: string;
    readonly service_banner: BannerConfig;
    readonly notification_banners: readonly BannerConfig[];
    readonly support_links?: readonly LinkConfig[];
}
interface ArchiveTemplateVersionsRequest {
    readonly all: boolean;
}
interface ArchiveTemplateVersionsResponse {
    readonly template_id: string;
    readonly archived_ids: readonly string[];
}
interface AssignableRoles extends Role {
    readonly assignable: boolean;
    readonly built_in: boolean;
}
type AuditDiff = Record<string, AuditDiffField>;
interface AuditDiffField {
    readonly old?: any;
    readonly new?: any;
    readonly secret: boolean;
}
interface AuditLog {
    readonly id: string;
    readonly request_id: string;
    readonly time: string;
    readonly organization_id: string;
    readonly ip: any;
    readonly user_agent: string;
    readonly resource_type: ResourceType;
    readonly resource_id: string;
    readonly resource_target: string;
    readonly resource_icon: string;
    readonly action: AuditAction;
    readonly diff: AuditDiff;
    readonly status_code: number;
    readonly additional_fields: Record<string, string>;
    readonly description: string;
    readonly resource_link: string;
    readonly is_deleted: boolean;
    readonly user?: User;
}
interface AuditLogResponse {
    readonly audit_logs: readonly AuditLog[];
    readonly count: number;
}
interface AuditLogsRequest extends Pagination {
    readonly q?: string;
}
interface AuthMethod {
    readonly enabled: boolean;
}
interface AuthMethods {
    readonly terms_of_service_url?: string;
    readonly password: AuthMethod;
    readonly github: AuthMethod;
    readonly oidc: OIDCAuthMethod;
}
interface AuthorizationCheck {
    readonly object: AuthorizationObject;
    readonly action: RBACAction;
}
interface AuthorizationObject {
    readonly resource_type: RBACResource;
    readonly owner_id?: string;
    readonly organization_id?: string;
    readonly resource_id?: string;
}
interface AuthorizationRequest {
    readonly checks: Record<string, AuthorizationCheck>;
}
type AuthorizationResponse = Record<string, boolean>;
interface AvailableExperiments {
    readonly safe: readonly Experiment[];
}
interface BannerConfig {
    readonly enabled: boolean;
    readonly message?: string;
    readonly background_color?: string;
}
interface BuildInfoResponse {
    readonly external_url: string;
    readonly version: string;
    readonly dashboard_url: string;
    readonly workspace_proxy: boolean;
    readonly agent_api_version: string;
    readonly upgrade_message: string;
    readonly deployment_id: string;
}
interface ConnectionLatency {
    readonly p50: number;
    readonly p95: number;
}
interface ConvertLoginRequest {
    readonly to_type: LoginType;
    readonly password: string;
}
interface CreateFirstUserRequest {
    readonly email: string;
    readonly username: string;
    readonly password: string;
    readonly trial: boolean;
    readonly trial_info: CreateFirstUserTrialInfo;
}
interface CreateFirstUserResponse {
    readonly user_id: string;
    readonly organization_id: string;
}
interface CreateFirstUserTrialInfo {
    readonly first_name: string;
    readonly last_name: string;
    readonly phone_number: string;
    readonly job_title: string;
    readonly company_name: string;
    readonly country: string;
    readonly developers: string;
}
interface CreateGroupRequest {
    readonly name: string;
    readonly display_name: string;
    readonly avatar_url: string;
    readonly quota_allowance: number;
}
interface CreateOrganizationRequest {
    readonly name: string;
}
interface CreateTemplateRequest {
    readonly name: string;
    readonly display_name?: string;
    readonly description?: string;
    readonly icon?: string;
    readonly template_version_id: string;
    readonly default_ttl_ms?: number;
    readonly activity_bump_ms?: number;
    readonly autostop_requirement?: TemplateAutostopRequirement;
    readonly autostart_requirement?: TemplateAutostartRequirement;
    readonly allow_user_cancel_workspace_jobs?: boolean;
    readonly allow_user_autostart?: boolean;
    readonly allow_user_autostop?: boolean;
    readonly failure_ttl_ms?: number;
    readonly dormant_ttl_ms?: number;
    readonly delete_ttl_ms?: number;
    readonly disable_everyone_group_access: boolean;
    readonly require_active_version: boolean;
}
interface CreateTemplateVersionDryRunRequest {
    readonly workspace_name: string;
    readonly rich_parameter_values: readonly WorkspaceBuildParameter[];
    readonly user_variable_values?: readonly VariableValue[];
}
interface CreateTemplateVersionRequest {
    readonly name?: string;
    readonly message?: string;
    readonly template_id?: string;
    readonly storage_method: ProvisionerStorageMethod;
    readonly file_id?: string;
    readonly example_id?: string;
    readonly provisioner: ProvisionerType;
    readonly tags: Record<string, string>;
    readonly user_variable_values?: readonly VariableValue[];
}
interface CreateTestAuditLogRequest {
    readonly action?: AuditAction;
    readonly resource_type?: ResourceType;
    readonly resource_id?: string;
    readonly additional_fields?: Record<string, string>;
    readonly time?: string;
    readonly build_reason?: BuildReason;
}
interface CreateTokenRequest {
    readonly lifetime: number;
    readonly scope: APIKeyScope;
    readonly token_name: string;
}
interface CreateUserRequest {
    readonly email: string;
    readonly username: string;
    readonly password: string;
    readonly login_type: LoginType;
    readonly disable_login: boolean;
    readonly organization_id: string;
}
interface CreateWorkspaceBuildRequest {
    readonly template_version_id?: string;
    readonly transition: WorkspaceTransition;
    readonly dry_run?: boolean;
    readonly state?: string;
    readonly orphan?: boolean;
    readonly rich_parameter_values?: readonly WorkspaceBuildParameter[];
    readonly log_level?: ProvisionerLogLevel;
}
interface CreateWorkspaceProxyRequest {
    readonly name: string;
    readonly display_name: string;
    readonly icon: string;
}
interface CreateWorkspaceRequest {
    readonly template_id?: string;
    readonly template_version_id?: string;
    readonly name: string;
    readonly autostart_schedule?: string;
    readonly ttl_ms?: number;
    readonly rich_parameter_values?: readonly WorkspaceBuildParameter[];
    readonly automatic_updates?: AutomaticUpdates;
}
interface DAUEntry {
    readonly date: string;
    readonly amount: number;
}
interface DAURequest {
    readonly TZHourOffset: number;
}
interface DAUsResponse {
    readonly entries: readonly DAUEntry[];
    readonly tz_hour_offset: number;
}
interface DERP {
    readonly server: DERPServerConfig;
    readonly config: DERPConfig;
}
interface DERPConfig {
    readonly block_direct: boolean;
    readonly force_websockets: boolean;
    readonly url: string;
    readonly path: string;
}
interface DERPRegion {
    readonly preferred: boolean;
    readonly latency_ms: number;
}
interface DERPServerConfig {
    readonly enable: boolean;
    readonly region_id: number;
    readonly region_code: string;
    readonly region_name: string;
    readonly stun_addresses: string[];
    readonly relay_url: string;
}
interface DangerousConfig {
    readonly allow_path_app_sharing: boolean;
    readonly allow_path_app_site_owner_access: boolean;
    readonly allow_all_cors: boolean;
}
interface DeleteWorkspaceAgentPortShareRequest {
    readonly agent_name: string;
    readonly port: number;
}
interface DeploymentConfig {
    readonly config?: DeploymentValues;
    readonly options?: SerpentOptionSet;
}
interface DeploymentStats {
    readonly aggregated_from: string;
    readonly collected_at: string;
    readonly next_update_at: string;
    readonly workspaces: WorkspaceDeploymentStats;
    readonly session_count: SessionCountDeploymentStats;
}
interface DeploymentValues {
    readonly verbose?: boolean;
    readonly access_url?: string;
    readonly wildcard_access_url?: string;
    readonly docs_url?: string;
    readonly redirect_to_access_url?: boolean;
    readonly http_address?: string;
    readonly autobuild_poll_interval?: number;
    readonly job_hang_detector_interval?: number;
    readonly derp?: DERP;
    readonly prometheus?: PrometheusConfig;
    readonly pprof?: PprofConfig;
    readonly proxy_trusted_headers?: string[];
    readonly proxy_trusted_origins?: string[];
    readonly cache_directory?: string;
    readonly in_memory_database?: boolean;
    readonly pg_connection_url?: string;
    readonly pg_auth?: string;
    readonly oauth2?: OAuth2Config;
    readonly oidc?: OIDCConfig;
    readonly telemetry?: TelemetryConfig;
    readonly tls?: TLSConfig;
    readonly trace?: TraceConfig;
    readonly secure_auth_cookie?: boolean;
    readonly strict_transport_security?: number;
    readonly strict_transport_security_options?: string[];
    readonly ssh_keygen_algorithm?: string;
    readonly metrics_cache_refresh_interval?: number;
    readonly agent_stat_refresh_interval?: number;
    readonly agent_fallback_troubleshooting_url?: string;
    readonly browser_only?: boolean;
    readonly scim_api_key?: string;
    readonly external_token_encryption_keys?: string[];
    readonly provisioner?: ProvisionerConfig;
    readonly rate_limit?: RateLimitConfig;
    readonly experiments?: string[];
    readonly update_check?: boolean;
    readonly swagger?: SwaggerConfig;
    readonly logging?: LoggingConfig;
    readonly dangerous?: DangerousConfig;
    readonly disable_path_apps?: boolean;
    readonly session_lifetime?: SessionLifetime;
    readonly disable_password_auth?: boolean;
    readonly support?: SupportConfig;
    readonly external_auth?: readonly ExternalAuthConfig[];
    readonly config_ssh?: SSHConfig;
    readonly wgtunnel_host?: string;
    readonly disable_owner_workspace_exec?: boolean;
    readonly proxy_health_status_interval?: number;
    readonly enable_terraform_debug_mode?: boolean;
    readonly user_quiet_hours_schedule?: UserQuietHoursScheduleConfig;
    readonly web_terminal_renderer?: string;
    readonly allow_workspace_renames?: boolean;
    readonly healthcheck?: HealthcheckConfig;
    readonly cli_upgrade_message?: string;
    readonly terms_of_service_url?: string;
    readonly config?: string;
    readonly write_config?: boolean;
    readonly address?: string;
}
interface Entitlements {
    readonly features: Record<FeatureName, Feature>;
    readonly warnings: readonly string[];
    readonly errors: readonly string[];
    readonly has_license: boolean;
    readonly trial: boolean;
    readonly require_telemetry: boolean;
    readonly refreshed_at: string;
}
type Experiments = readonly Experiment[];
interface ExternalAuth {
    readonly authenticated: boolean;
    readonly device: boolean;
    readonly display_name: string;
    readonly user?: ExternalAuthUser;
    readonly app_installable: boolean;
    readonly installations: readonly ExternalAuthAppInstallation[];
    readonly app_install_url: string;
}
interface ExternalAuthAppInstallation {
    readonly id: number;
    readonly account: ExternalAuthUser;
    readonly configure_url: string;
}
interface ExternalAuthConfig {
    readonly type: string;
    readonly client_id: string;
    readonly id: string;
    readonly auth_url: string;
    readonly token_url: string;
    readonly validate_url: string;
    readonly app_install_url: string;
    readonly app_installations_url: string;
    readonly no_refresh: boolean;
    readonly scopes: readonly string[];
    readonly extra_token_keys: readonly string[];
    readonly device_flow: boolean;
    readonly device_code_url: string;
    readonly regex: string;
    readonly display_name: string;
    readonly display_icon: string;
}
interface ExternalAuthDevice {
    readonly device_code: string;
    readonly user_code: string;
    readonly verification_uri: string;
    readonly expires_in: number;
    readonly interval: number;
}
interface ExternalAuthDeviceExchange {
    readonly device_code: string;
}
interface ExternalAuthLink {
    readonly provider_id: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly has_refresh_token: boolean;
    readonly expires: string;
    readonly authenticated: boolean;
    readonly validate_error: string;
}
interface ExternalAuthLinkProvider {
    readonly id: string;
    readonly type: string;
    readonly device: boolean;
    readonly display_name: string;
    readonly display_icon: string;
    readonly allow_refresh: boolean;
    readonly allow_validate: boolean;
}
interface ExternalAuthUser {
    readonly login: string;
    readonly avatar_url: string;
    readonly profile_url: string;
    readonly name: string;
}
interface Feature {
    readonly entitlement: Entitlement;
    readonly enabled: boolean;
    readonly limit?: number;
    readonly actual?: number;
}
interface GenerateAPIKeyResponse {
    readonly key: string;
}
interface GetUsersResponse {
    readonly users: readonly User[];
    readonly count: number;
}
interface GitSSHKey {
    readonly user_id: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly public_key: string;
}
interface Group {
    readonly id: string;
    readonly name: string;
    readonly display_name: string;
    readonly organization_id: string;
    readonly members: readonly ReducedUser[];
    readonly avatar_url: string;
    readonly quota_allowance: number;
    readonly source: GroupSource;
}
interface Healthcheck {
    readonly url: string;
    readonly interval: number;
    readonly threshold: number;
}
interface HealthcheckConfig {
    readonly refresh: number;
    readonly threshold_database: number;
}
interface IssueReconnectingPTYSignedTokenRequest {
    readonly url: string;
    readonly agentID: string;
}
interface IssueReconnectingPTYSignedTokenResponse {
    readonly signed_token: string;
}
interface JFrogXrayScan {
    readonly workspace_id: string;
    readonly agent_id: string;
    readonly critical: number;
    readonly high: number;
    readonly medium: number;
    readonly results_url: string;
}
interface License {
    readonly id: number;
    readonly uuid: string;
    readonly uploaded_at: string;
    readonly claims: Record<string, any>;
}
interface LinkConfig {
    readonly name: string;
    readonly target: string;
    readonly icon: string;
}
interface ListUserExternalAuthResponse {
    readonly providers: readonly ExternalAuthLinkProvider[];
    readonly links: readonly ExternalAuthLink[];
}
interface LoggingConfig {
    readonly log_filter: string[];
    readonly human: string;
    readonly json: string;
    readonly stackdriver: string;
}
interface LoginWithPasswordRequest {
    readonly email: string;
    readonly password: string;
}
interface LoginWithPasswordResponse {
    readonly session_token: string;
}
interface MinimalUser {
    readonly id: string;
    readonly username: string;
    readonly avatar_url: string;
}
interface OAuth2AppEndpoints {
    readonly authorization: string;
    readonly token: string;
    readonly device_authorization: string;
}
interface OAuth2Config {
    readonly github: OAuth2GithubConfig;
}
interface OAuth2GithubConfig {
    readonly client_id: string;
    readonly client_secret: string;
    readonly allowed_orgs: string[];
    readonly allowed_teams: string[];
    readonly allow_signups: boolean;
    readonly allow_everyone: boolean;
    readonly enterprise_base_url: string;
}
interface OAuth2ProviderApp {
    readonly id: string;
    readonly name: string;
    readonly callback_url: string;
    readonly icon: string;
    readonly endpoints: OAuth2AppEndpoints;
}
interface OAuth2ProviderAppFilter {
    readonly user_id?: string;
}
interface OAuth2ProviderAppSecret {
    readonly id: string;
    readonly last_used_at?: string;
    readonly client_secret_truncated: string;
}
interface OAuth2ProviderAppSecretFull {
    readonly id: string;
    readonly client_secret_full: string;
}
interface OAuthConversionResponse {
    readonly state_string: string;
    readonly expires_at: string;
    readonly to_type: LoginType;
    readonly user_id: string;
}
interface OIDCAuthMethod extends AuthMethod {
    readonly signInText: string;
    readonly iconUrl: string;
}
interface OIDCConfig {
    readonly allow_signups: boolean;
    readonly client_id: string;
    readonly client_secret: string;
    readonly client_key_file: string;
    readonly client_cert_file: string;
    readonly email_domain: string[];
    readonly issuer_url: string;
    readonly scopes: string[];
    readonly ignore_email_verified: boolean;
    readonly username_field: string;
    readonly email_field: string;
    readonly auth_url_params: Record<string, string>;
    readonly ignore_user_info: boolean;
    readonly group_auto_create: boolean;
    readonly group_regex_filter: string;
    readonly group_allow_list: string[];
    readonly groups_field: string;
    readonly group_mapping: Record<string, string>;
    readonly user_role_field: string;
    readonly user_role_mapping: Record<string, readonly string[]>;
    readonly user_roles_default: string[];
    readonly sign_in_text: string;
    readonly icon_url: string;
    readonly signups_disabled_text: string;
}
interface Organization {
    readonly id: string;
    readonly name: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly is_default: boolean;
}
interface OrganizationMember {
    readonly user_id: string;
    readonly organization_id: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly roles: readonly SlimRole[];
}
interface Pagination {
    readonly after_id?: string;
    readonly limit?: number;
    readonly offset?: number;
}
interface PatchGroupRequest {
    readonly add_users: readonly string[];
    readonly remove_users: readonly string[];
    readonly name: string;
    readonly display_name?: string;
    readonly avatar_url?: string;
    readonly quota_allowance?: number;
}
interface PatchTemplateVersionRequest {
    readonly name: string;
    readonly message?: string;
}
interface PatchWorkspaceProxy {
    readonly id: string;
    readonly name: string;
    readonly display_name: string;
    readonly icon: string;
    readonly regenerate_token: boolean;
}
interface Permission {
    readonly negate: boolean;
    readonly resource_type: RBACResource;
    readonly action: RBACAction;
}
interface PostOAuth2ProviderAppRequest {
    readonly name: string;
    readonly callback_url: string;
    readonly icon: string;
}
interface PprofConfig {
    readonly enable: boolean;
    readonly address: string;
}
interface PrometheusConfig {
    readonly enable: boolean;
    readonly address: string;
    readonly collect_agent_stats: boolean;
    readonly collect_db_metrics: boolean;
    readonly aggregate_agent_stats_by: string[];
}
interface ProvisionerConfig {
    readonly daemons: number;
    readonly daemon_types: string[];
    readonly daemon_poll_interval: number;
    readonly daemon_poll_jitter: number;
    readonly force_cancel_interval: number;
    readonly daemon_psk: string;
}
interface ProvisionerDaemon {
    readonly id: string;
    readonly created_at: string;
    readonly last_seen_at?: string;
    readonly name: string;
    readonly version: string;
    readonly api_version: string;
    readonly provisioners: readonly ProvisionerType[];
    readonly tags: Record<string, string>;
}
interface ProvisionerJob {
    readonly id: string;
    readonly created_at: string;
    readonly started_at?: string;
    readonly completed_at?: string;
    readonly canceled_at?: string;
    readonly error?: string;
    readonly error_code?: JobErrorCode;
    readonly status: ProvisionerJobStatus;
    readonly worker_id?: string;
    readonly file_id: string;
    readonly tags: Record<string, string>;
    readonly queue_position: number;
    readonly queue_size: number;
}
interface ProvisionerJobLog {
    readonly id: number;
    readonly created_at: string;
    readonly log_source: LogSource;
    readonly log_level: LogLevel;
    readonly stage: string;
    readonly output: string;
}
interface ProxyHealthReport {
    readonly errors: readonly string[];
    readonly warnings: readonly string[];
}
interface PutExtendWorkspaceRequest {
    readonly deadline: string;
}
interface PutOAuth2ProviderAppRequest {
    readonly name: string;
    readonly callback_url: string;
    readonly icon: string;
}
interface RateLimitConfig {
    readonly disable_all: boolean;
    readonly api: number;
}
interface ReducedUser extends MinimalUser {
    readonly name: string;
    readonly email: string;
    readonly created_at: string;
    readonly last_seen_at: string;
    readonly status: UserStatus;
    readonly login_type: LoginType;
    readonly theme_preference: string;
}
interface Region {
    readonly id: string;
    readonly name: string;
    readonly display_name: string;
    readonly icon_url: string;
    readonly healthy: boolean;
    readonly path_app_url: string;
    readonly wildcard_hostname: string;
}
interface RegionsResponse<R extends RegionTypes> {
    readonly regions: readonly R[];
}
interface Replica {
    readonly id: string;
    readonly hostname: string;
    readonly created_at: string;
    readonly relay_address: string;
    readonly region_id: number;
    readonly error: string;
    readonly database_latency: number;
}
interface ResolveAutostartResponse {
    readonly parameter_mismatch: boolean;
}
interface Response {
    readonly message: string;
    readonly detail?: string;
    readonly validations?: readonly ValidationError[];
}
interface Role {
    readonly name: string;
    readonly organization_id: string;
    readonly display_name: string;
    readonly site_permissions: readonly Permission[];
    readonly organization_permissions: Record<string, readonly Permission[]>;
    readonly user_permissions: readonly Permission[];
}
interface SSHConfig {
    readonly DeploymentName: string;
    readonly SSHConfigOptions: string[];
}
interface SSHConfigResponse {
    readonly hostname_prefix: string;
    readonly ssh_config_options: Record<string, string>;
}
interface ServerSentEvent {
    readonly type: ServerSentEventType;
    readonly data: any;
}
interface ServiceBannerConfig {
    readonly enabled: boolean;
    readonly message?: string;
    readonly background_color?: string;
}
interface SessionCountDeploymentStats {
    readonly vscode: number;
    readonly ssh: number;
    readonly jetbrains: number;
    readonly reconnecting_pty: number;
}
interface SessionLifetime {
    readonly disable_expiry_refresh?: boolean;
    readonly default_duration: number;
    readonly max_token_lifetime?: number;
}
interface SlimRole {
    readonly name: string;
    readonly display_name: string;
}
interface SupportConfig {
    readonly links: readonly LinkConfig[];
}
interface SwaggerConfig {
    readonly enable: boolean;
}
interface TLSConfig {
    readonly enable: boolean;
    readonly address: string;
    readonly redirect_http: boolean;
    readonly cert_file: string[];
    readonly client_auth: string;
    readonly client_ca_file: string;
    readonly key_file: string[];
    readonly min_version: string;
    readonly client_cert_file: string;
    readonly client_key_file: string;
    readonly supported_ciphers: string[];
    readonly allow_insecure_ciphers: boolean;
}
interface TelemetryConfig {
    readonly enable: boolean;
    readonly trace: boolean;
    readonly url: string;
}
interface Template {
    readonly id: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly organization_id: string;
    readonly name: string;
    readonly display_name: string;
    readonly provisioner: ProvisionerType;
    readonly active_version_id: string;
    readonly active_user_count: number;
    readonly build_time_stats: TemplateBuildTimeStats;
    readonly description: string;
    readonly deprecated: boolean;
    readonly deprecation_message: string;
    readonly icon: string;
    readonly default_ttl_ms: number;
    readonly activity_bump_ms: number;
    readonly autostop_requirement: TemplateAutostopRequirement;
    readonly autostart_requirement: TemplateAutostartRequirement;
    readonly created_by_id: string;
    readonly created_by_name: string;
    readonly allow_user_autostart: boolean;
    readonly allow_user_autostop: boolean;
    readonly allow_user_cancel_workspace_jobs: boolean;
    readonly failure_ttl_ms: number;
    readonly time_til_dormant_ms: number;
    readonly time_til_dormant_autodelete_ms: number;
    readonly require_active_version: boolean;
    readonly max_port_share_level: WorkspaceAgentPortShareLevel;
}
interface TemplateACL {
    readonly users: readonly TemplateUser[];
    readonly group: readonly TemplateGroup[];
}
interface TemplateAppUsage {
    readonly template_ids: readonly string[];
    readonly type: TemplateAppsType;
    readonly display_name: string;
    readonly slug: string;
    readonly icon: string;
    readonly seconds: number;
    readonly times_used: number;
}
interface TemplateAutostartRequirement {
    readonly days_of_week: readonly string[];
}
interface TemplateAutostopRequirement {
    readonly days_of_week: readonly string[];
    readonly weeks: number;
}
type TemplateBuildTimeStats = Record<WorkspaceTransition, TransitionStats>;
interface TemplateExample {
    readonly id: string;
    readonly url: string;
    readonly name: string;
    readonly description: string;
    readonly icon: string;
    readonly tags: readonly string[];
    readonly markdown: string;
}
interface TemplateGroup extends Group {
    readonly role: TemplateRole;
}
interface TemplateInsightsIntervalReport {
    readonly start_time: string;
    readonly end_time: string;
    readonly template_ids: readonly string[];
    readonly interval: InsightsReportInterval;
    readonly active_users: number;
}
interface TemplateInsightsReport {
    readonly start_time: string;
    readonly end_time: string;
    readonly template_ids: readonly string[];
    readonly active_users: number;
    readonly apps_usage: readonly TemplateAppUsage[];
    readonly parameters_usage: readonly TemplateParameterUsage[];
}
interface TemplateInsightsRequest {
    readonly start_time: string;
    readonly end_time: string;
    readonly template_ids: readonly string[];
    readonly interval: InsightsReportInterval;
    readonly sections: readonly TemplateInsightsSection[];
}
interface TemplateInsightsResponse {
    readonly report?: TemplateInsightsReport;
    readonly interval_reports?: readonly TemplateInsightsIntervalReport[];
}
interface TemplateParameterUsage {
    readonly template_ids: readonly string[];
    readonly display_name: string;
    readonly name: string;
    readonly type: string;
    readonly description: string;
    readonly options?: readonly TemplateVersionParameterOption[];
    readonly values: readonly TemplateParameterValue[];
}
interface TemplateParameterValue {
    readonly value: string;
    readonly count: number;
}
interface TemplateUser extends User {
    readonly role: TemplateRole;
}
interface TemplateVersion {
    readonly id: string;
    readonly template_id?: string;
    readonly organization_id?: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly name: string;
    readonly message: string;
    readonly job: ProvisionerJob;
    readonly readme: string;
    readonly created_by: MinimalUser;
    readonly archived: boolean;
    readonly warnings?: readonly TemplateVersionWarning[];
}
interface TemplateVersionExternalAuth {
    readonly id: string;
    readonly type: string;
    readonly display_name: string;
    readonly display_icon: string;
    readonly authenticate_url: string;
    readonly authenticated: boolean;
    readonly optional?: boolean;
}
interface TemplateVersionParameter {
    readonly name: string;
    readonly display_name?: string;
    readonly description: string;
    readonly description_plaintext: string;
    readonly type: string;
    readonly mutable: boolean;
    readonly default_value: string;
    readonly icon: string;
    readonly options: readonly TemplateVersionParameterOption[];
    readonly validation_error?: string;
    readonly validation_regex?: string;
    readonly validation_min?: number;
    readonly validation_max?: number;
    readonly validation_monotonic?: ValidationMonotonicOrder;
    readonly required: boolean;
    readonly ephemeral: boolean;
}
interface TemplateVersionParameterOption {
    readonly name: string;
    readonly description: string;
    readonly value: string;
    readonly icon: string;
}
interface TemplateVersionVariable {
    readonly name: string;
    readonly description: string;
    readonly type: string;
    readonly value: string;
    readonly default_value: string;
    readonly required: boolean;
    readonly sensitive: boolean;
}
interface TemplateVersionsByTemplateRequest extends Pagination {
    readonly template_id: string;
    readonly include_archived: boolean;
}
interface TokenConfig {
    readonly max_token_lifetime: number;
}
interface TokensFilter {
    readonly include_all: boolean;
}
interface TraceConfig {
    readonly enable: boolean;
    readonly honeycomb_api_key: string;
    readonly capture_logs: boolean;
    readonly data_dog: boolean;
}
interface TransitionStats {
    readonly P50?: number;
    readonly P95?: number;
}
interface UpdateActiveTemplateVersion {
    readonly id: string;
}
interface UpdateAppearanceConfig {
    readonly application_name: string;
    readonly logo_url: string;
    readonly service_banner: BannerConfig;
    readonly notification_banners: readonly BannerConfig[];
}
interface UpdateCheckResponse {
    readonly current: boolean;
    readonly version: string;
    readonly url: string;
}
interface UpdateOrganizationRequest {
    readonly name: string;
}
interface UpdateRoles {
    readonly roles: readonly string[];
}
interface UpdateTemplateACL {
    readonly user_perms?: Record<string, TemplateRole>;
    readonly group_perms?: Record<string, TemplateRole>;
}
interface UpdateTemplateMeta {
    readonly name?: string;
    readonly display_name?: string;
    readonly description?: string;
    readonly icon?: string;
    readonly default_ttl_ms?: number;
    readonly activity_bump_ms?: number;
    readonly autostop_requirement?: TemplateAutostopRequirement;
    readonly autostart_requirement?: TemplateAutostartRequirement;
    readonly allow_user_autostart?: boolean;
    readonly allow_user_autostop?: boolean;
    readonly allow_user_cancel_workspace_jobs?: boolean;
    readonly failure_ttl_ms?: number;
    readonly time_til_dormant_ms?: number;
    readonly time_til_dormant_autodelete_ms?: number;
    readonly update_workspace_last_used_at: boolean;
    readonly update_workspace_dormant_at: boolean;
    readonly require_active_version?: boolean;
    readonly deprecation_message?: string;
    readonly disable_everyone_group_access: boolean;
    readonly max_port_share_level?: WorkspaceAgentPortShareLevel;
}
interface UpdateUserAppearanceSettingsRequest {
    readonly theme_preference: string;
}
interface UpdateUserPasswordRequest {
    readonly old_password: string;
    readonly password: string;
}
interface UpdateUserProfileRequest {
    readonly username: string;
    readonly name: string;
}
interface UpdateUserQuietHoursScheduleRequest {
    readonly schedule: string;
}
interface UpdateWorkspaceAutomaticUpdatesRequest {
    readonly automatic_updates: AutomaticUpdates;
}
interface UpdateWorkspaceAutostartRequest {
    readonly schedule?: string;
}
interface UpdateWorkspaceDormancy {
    readonly dormant: boolean;
}
interface UpdateWorkspaceProxyResponse {
    readonly proxy: WorkspaceProxy;
    readonly proxy_token: string;
}
interface UpdateWorkspaceRequest {
    readonly name?: string;
}
interface UpdateWorkspaceTTLRequest {
    readonly ttl_ms?: number;
}
interface UploadResponse {
    readonly hash: string;
}
interface UpsertWorkspaceAgentPortShareRequest {
    readonly agent_name: string;
    readonly port: number;
    readonly share_level: WorkspaceAgentPortShareLevel;
    readonly protocol: WorkspaceAgentPortShareProtocol;
}
interface User extends ReducedUser {
    readonly organization_ids: readonly string[];
    readonly roles: readonly SlimRole[];
}
interface UserActivity {
    readonly template_ids: readonly string[];
    readonly user_id: string;
    readonly username: string;
    readonly avatar_url: string;
    readonly seconds: number;
}
interface UserActivityInsightsReport {
    readonly start_time: string;
    readonly end_time: string;
    readonly template_ids: readonly string[];
    readonly users: readonly UserActivity[];
}
interface UserActivityInsightsRequest {
    readonly start_time: string;
    readonly end_time: string;
    readonly template_ids: readonly string[];
}
interface UserActivityInsightsResponse {
    readonly report: UserActivityInsightsReport;
}
interface UserLatency {
    readonly template_ids: readonly string[];
    readonly user_id: string;
    readonly username: string;
    readonly avatar_url: string;
    readonly latency_ms: ConnectionLatency;
}
interface UserLatencyInsightsReport {
    readonly start_time: string;
    readonly end_time: string;
    readonly template_ids: readonly string[];
    readonly users: readonly UserLatency[];
}
interface UserLatencyInsightsRequest {
    readonly start_time: string;
    readonly end_time: string;
    readonly template_ids: readonly string[];
}
interface UserLatencyInsightsResponse {
    readonly report: UserLatencyInsightsReport;
}
interface UserLoginType {
    readonly login_type: LoginType;
}
interface UserParameter {
    readonly name: string;
    readonly value: string;
}
interface UserQuietHoursScheduleConfig {
    readonly default_schedule: string;
    readonly allow_user_custom: boolean;
}
interface UserQuietHoursScheduleResponse {
    readonly raw_schedule: string;
    readonly user_set: boolean;
    readonly user_can_set: boolean;
    readonly time: string;
    readonly timezone: string;
    readonly next: string;
}
interface UserRoles {
    readonly roles: readonly string[];
    readonly organization_roles: Record<string, readonly string[]>;
}
interface UsersRequest extends Pagination {
    readonly q?: string;
}
interface ValidationError {
    readonly field: string;
    readonly detail: string;
}
interface VariableValue {
    readonly name: string;
    readonly value: string;
}
interface Workspace {
    readonly id: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly owner_id: string;
    readonly owner_name: string;
    readonly owner_avatar_url: string;
    readonly organization_id: string;
    readonly template_id: string;
    readonly template_name: string;
    readonly template_display_name: string;
    readonly template_icon: string;
    readonly template_allow_user_cancel_workspace_jobs: boolean;
    readonly template_active_version_id: string;
    readonly template_require_active_version: boolean;
    readonly latest_build: WorkspaceBuild;
    readonly outdated: boolean;
    readonly name: string;
    readonly autostart_schedule?: string;
    readonly ttl_ms?: number;
    readonly last_used_at: string;
    readonly deleting_at?: string;
    readonly dormant_at?: string;
    readonly health: WorkspaceHealth;
    readonly automatic_updates: AutomaticUpdates;
    readonly allow_renames: boolean;
    readonly favorite: boolean;
}
interface WorkspaceAgent {
    readonly id: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly first_connected_at?: string;
    readonly last_connected_at?: string;
    readonly disconnected_at?: string;
    readonly started_at?: string;
    readonly ready_at?: string;
    readonly status: WorkspaceAgentStatus;
    readonly lifecycle_state: WorkspaceAgentLifecycle;
    readonly name: string;
    readonly resource_id: string;
    readonly instance_id?: string;
    readonly architecture: string;
    readonly environment_variables: Record<string, string>;
    readonly operating_system: string;
    readonly logs_length: number;
    readonly logs_overflowed: boolean;
    readonly directory?: string;
    readonly expanded_directory?: string;
    readonly version: string;
    readonly api_version: string;
    readonly apps: readonly WorkspaceApp[];
    readonly latency?: Record<string, DERPRegion>;
    readonly connection_timeout_seconds: number;
    readonly troubleshooting_url: string;
    readonly subsystems: readonly AgentSubsystem[];
    readonly health: WorkspaceAgentHealth;
    readonly display_apps: readonly DisplayApp[];
    readonly log_sources: readonly WorkspaceAgentLogSource[];
    readonly scripts: readonly WorkspaceAgentScript[];
    readonly startup_script_behavior: WorkspaceAgentStartupScriptBehavior;
}
interface WorkspaceAgentHealth {
    readonly healthy: boolean;
    readonly reason?: string;
}
interface WorkspaceAgentListeningPort {
    readonly process_name: string;
    readonly network: string;
    readonly port: number;
}
interface WorkspaceAgentListeningPortsResponse {
    readonly ports: readonly WorkspaceAgentListeningPort[];
}
interface WorkspaceAgentLog {
    readonly id: number;
    readonly created_at: string;
    readonly output: string;
    readonly level: LogLevel;
    readonly source_id: string;
}
interface WorkspaceAgentLogSource {
    readonly workspace_agent_id: string;
    readonly id: string;
    readonly created_at: string;
    readonly display_name: string;
    readonly icon: string;
}
interface WorkspaceAgentMetadata {
    readonly result: WorkspaceAgentMetadataResult;
    readonly description: WorkspaceAgentMetadataDescription;
}
interface WorkspaceAgentMetadataDescription {
    readonly display_name: string;
    readonly key: string;
    readonly script: string;
    readonly interval: number;
    readonly timeout: number;
}
interface WorkspaceAgentMetadataResult {
    readonly collected_at: string;
    readonly age: number;
    readonly value: string;
    readonly error: string;
}
interface WorkspaceAgentPortShare {
    readonly workspace_id: string;
    readonly agent_name: string;
    readonly port: number;
    readonly share_level: WorkspaceAgentPortShareLevel;
    readonly protocol: WorkspaceAgentPortShareProtocol;
}
interface WorkspaceAgentPortShares {
    readonly shares: readonly WorkspaceAgentPortShare[];
}
interface WorkspaceAgentScript {
    readonly log_source_id: string;
    readonly log_path: string;
    readonly script: string;
    readonly cron: string;
    readonly run_on_start: boolean;
    readonly run_on_stop: boolean;
    readonly start_blocks_login: boolean;
    readonly timeout: number;
}
interface WorkspaceApp {
    readonly id: string;
    readonly url: string;
    readonly external: boolean;
    readonly slug: string;
    readonly display_name: string;
    readonly command?: string;
    readonly icon?: string;
    readonly subdomain: boolean;
    readonly subdomain_name?: string;
    readonly sharing_level: WorkspaceAppSharingLevel;
    readonly healthcheck: Healthcheck;
    readonly health: WorkspaceAppHealth;
}
interface WorkspaceBuild {
    readonly id: string;
    readonly created_at: string;
    readonly updated_at: string;
    readonly workspace_id: string;
    readonly workspace_name: string;
    readonly workspace_owner_id: string;
    readonly workspace_owner_name: string;
    readonly workspace_owner_avatar_url: string;
    readonly template_version_id: string;
    readonly template_version_name: string;
    readonly build_number: number;
    readonly transition: WorkspaceTransition;
    readonly initiator_id: string;
    readonly initiator_name: string;
    readonly job: ProvisionerJob;
    readonly reason: BuildReason;
    readonly resources: readonly WorkspaceResource[];
    readonly deadline?: string;
    readonly max_deadline?: string;
    readonly status: WorkspaceStatus;
    readonly daily_cost: number;
}
interface WorkspaceBuildParameter {
    readonly name: string;
    readonly value: string;
}
interface WorkspaceBuildsRequest extends Pagination {
    readonly since?: string;
}
interface WorkspaceConnectionLatencyMS {
    readonly P50: number;
    readonly P95: number;
}
interface WorkspaceDeploymentStats {
    readonly pending: number;
    readonly building: number;
    readonly running: number;
    readonly failed: number;
    readonly stopped: number;
    readonly connection_latency_ms: WorkspaceConnectionLatencyMS;
    readonly rx_bytes: number;
    readonly tx_bytes: number;
}
interface WorkspaceFilter {
    readonly q?: string;
}
interface WorkspaceHealth {
    readonly healthy: boolean;
    readonly failing_agents: readonly string[];
}
interface WorkspaceOptions {
    readonly include_deleted?: boolean;
}
interface WorkspaceProxy extends Region {
    readonly derp_enabled: boolean;
    readonly derp_only: boolean;
    readonly status?: WorkspaceProxyStatus;
    readonly created_at: string;
    readonly updated_at: string;
    readonly deleted: boolean;
    readonly version: string;
}
interface WorkspaceProxyBuildInfo {
    readonly workspace_proxy: boolean;
    readonly dashboard_url: string;
}
interface WorkspaceProxyStatus {
    readonly status: ProxyHealthStatus;
    readonly report?: ProxyHealthReport;
    readonly checked_at: string;
}
interface WorkspaceQuota {
    readonly credits_consumed: number;
    readonly budget: number;
}
interface WorkspaceResource {
    readonly id: string;
    readonly created_at: string;
    readonly job_id: string;
    readonly workspace_transition: WorkspaceTransition;
    readonly type: string;
    readonly name: string;
    readonly hide: boolean;
    readonly icon: string;
    readonly agents?: readonly WorkspaceAgent[];
    readonly metadata?: readonly WorkspaceResourceMetadata[];
    readonly daily_cost: number;
}
interface WorkspaceResourceMetadata {
    readonly key: string;
    readonly value: string;
    readonly sensitive: boolean;
}
interface WorkspacesRequest extends Pagination {
    readonly q?: string;
}
interface WorkspacesResponse {
    readonly workspaces: readonly Workspace[];
    readonly count: number;
}
type APIKeyScope = 'all' | 'application_connect';
declare const APIKeyScopes: APIKeyScope[];
type AgentSubsystem = 'envbox' | 'envbuilder' | 'exectrace';
declare const AgentSubsystems: AgentSubsystem[];
type AuditAction = 'create' | 'delete' | 'login' | 'logout' | 'register' | 'start' | 'stop' | 'write';
declare const AuditActions: AuditAction[];
type AutomaticUpdates = 'always' | 'never';
declare const AutomaticUpdateses: AutomaticUpdates[];
type BuildReason = 'autostart' | 'autostop' | 'initiator';
declare const BuildReasons: BuildReason[];
type DisplayApp = 'port_forwarding_helper' | 'ssh_helper' | 'vscode' | 'vscode_insiders' | 'web_terminal';
declare const DisplayApps: DisplayApp[];
type EnhancedExternalAuthProvider = 'azure-devops' | 'azure-devops-entra' | 'bitbucket-cloud' | 'bitbucket-server' | 'gitea' | 'github' | 'gitlab' | 'jfrog' | 'slack';
declare const EnhancedExternalAuthProviders: EnhancedExternalAuthProvider[];
type Entitlement = 'entitled' | 'grace_period' | 'not_entitled';
declare const entitlements: Entitlement[];
type Experiment = 'auto-fill-parameters' | 'custom-roles' | 'example' | 'multi-organization';
declare const experiments: Experiment[];
type FeatureName = 'access_control' | 'advanced_template_scheduling' | 'appearance' | 'audit_log' | 'browser_only' | 'control_shared_ports' | 'custom_roles' | 'external_provisioner_daemons' | 'external_token_encryption' | 'high_availability' | 'multiple_external_auth' | 'scim' | 'template_rbac' | 'user_limit' | 'user_role_management' | 'workspace_batch_actions' | 'workspace_proxy';
declare const FeatureNames: FeatureName[];
type GroupSource = 'oidc' | 'user';
declare const GroupSources: GroupSource[];
type InsightsReportInterval = 'day' | 'week';
declare const InsightsReportIntervals: InsightsReportInterval[];
type JobErrorCode = 'REQUIRED_TEMPLATE_VARIABLES';
declare const JobErrorCodes: JobErrorCode[];
type LogLevel = 'debug' | 'error' | 'info' | 'trace' | 'warn';
declare const LogLevels: LogLevel[];
type LogSource = 'provisioner' | 'provisioner_daemon';
declare const LogSources: LogSource[];
type LoginType = '' | 'github' | 'none' | 'oidc' | 'password' | 'token';
declare const LoginTypes: LoginType[];
type OAuth2ProviderGrantType = 'authorization_code' | 'refresh_token';
declare const OAuth2ProviderGrantTypes: OAuth2ProviderGrantType[];
type OAuth2ProviderResponseType = 'code';
declare const OAuth2ProviderResponseTypes: OAuth2ProviderResponseType[];
type PostgresAuth = 'awsiamrds' | 'password';
declare const PostgresAuths: PostgresAuth[];
type ProvisionerJobStatus = 'canceled' | 'canceling' | 'failed' | 'pending' | 'running' | 'succeeded' | 'unknown';
declare const ProvisionerJobStatuses: ProvisionerJobStatus[];
type ProvisionerLogLevel = 'debug';
declare const ProvisionerLogLevels: ProvisionerLogLevel[];
type ProvisionerStorageMethod = 'file';
declare const ProvisionerStorageMethods: ProvisionerStorageMethod[];
type ProvisionerType = 'echo' | 'terraform';
declare const ProvisionerTypes: ProvisionerType[];
type ProxyHealthStatus = 'ok' | 'unhealthy' | 'unreachable' | 'unregistered';
declare const ProxyHealthStatuses: ProxyHealthStatus[];
type RBACAction = 'application_connect' | 'assign' | 'create' | 'delete' | 'read' | 'read_personal' | 'ssh' | 'start' | 'stop' | 'update' | 'update_personal' | 'use' | 'view_insights';
declare const RBACActions: RBACAction[];
type RBACResource = '*' | 'api_key' | 'assign_org_role' | 'assign_role' | 'audit_log' | 'debug_info' | 'deployment_config' | 'deployment_stats' | 'file' | 'group' | 'license' | 'oauth2_app' | 'oauth2_app_code_token' | 'oauth2_app_secret' | 'organization' | 'organization_member' | 'provisioner_daemon' | 'replicas' | 'system' | 'tailnet_coordinator' | 'template' | 'user' | 'workspace' | 'workspace_dormant' | 'workspace_proxy';
declare const RBACResources: RBACResource[];
type ResourceType = 'api_key' | 'convert_login' | 'git_ssh_key' | 'group' | 'health_settings' | 'license' | 'oauth2_provider_app' | 'oauth2_provider_app_secret' | 'organization' | 'template' | 'template_version' | 'user' | 'workspace' | 'workspace_build' | 'workspace_proxy';
declare const ResourceTypes: ResourceType[];
type ServerSentEventType = 'data' | 'error' | 'ping';
declare const ServerSentEventTypes: ServerSentEventType[];
type TemplateAppsType = 'app' | 'builtin';
declare const TemplateAppsTypes: TemplateAppsType[];
type TemplateInsightsSection = 'interval_reports' | 'report';
declare const TemplateInsightsSections: TemplateInsightsSection[];
type TemplateRole = '' | 'admin' | 'use';
declare const TemplateRoles: TemplateRole[];
type TemplateVersionWarning = 'UNSUPPORTED_WORKSPACES';
declare const TemplateVersionWarnings: TemplateVersionWarning[];
type UserStatus = 'active' | 'dormant' | 'suspended';
declare const UserStatuses: UserStatus[];
type ValidationMonotonicOrder = 'decreasing' | 'increasing';
declare const ValidationMonotonicOrders: ValidationMonotonicOrder[];
type WorkspaceAgentLifecycle = 'created' | 'off' | 'ready' | 'shutdown_error' | 'shutdown_timeout' | 'shutting_down' | 'start_error' | 'start_timeout' | 'starting';
declare const WorkspaceAgentLifecycles: WorkspaceAgentLifecycle[];
type WorkspaceAgentPortShareLevel = 'authenticated' | 'owner' | 'public';
declare const WorkspaceAgentPortShareLevels: WorkspaceAgentPortShareLevel[];
type WorkspaceAgentPortShareProtocol = 'http' | 'https';
declare const WorkspaceAgentPortShareProtocols: WorkspaceAgentPortShareProtocol[];
type WorkspaceAgentStartupScriptBehavior = 'blocking' | 'non-blocking';
declare const WorkspaceAgentStartupScriptBehaviors: WorkspaceAgentStartupScriptBehavior[];
type WorkspaceAgentStatus = 'connected' | 'connecting' | 'disconnected' | 'timeout';
declare const WorkspaceAgentStatuses: WorkspaceAgentStatus[];
type WorkspaceAppHealth = 'disabled' | 'healthy' | 'initializing' | 'unhealthy';
declare const WorkspaceAppHealths: WorkspaceAppHealth[];
type WorkspaceAppSharingLevel = 'authenticated' | 'owner' | 'public';
declare const WorkspaceAppSharingLevels: WorkspaceAppSharingLevel[];
type WorkspaceStatus = 'canceled' | 'canceling' | 'deleted' | 'deleting' | 'failed' | 'pending' | 'running' | 'starting' | 'stopped' | 'stopping';
declare const WorkspaceStatuses: WorkspaceStatus[];
type WorkspaceTransition = 'delete' | 'start' | 'stop';
declare const WorkspaceTransitions: WorkspaceTransition[];
type RegionTypes = Region | WorkspaceProxy;
interface AccessURLReport extends BaseReport {
    readonly healthy: boolean;
    readonly access_url: string;
    readonly reachable: boolean;
    readonly status_code: number;
    readonly healthz_response: string;
}
interface BaseReport {
    readonly error?: string;
    readonly severity: HealthSeverity;
    readonly warnings: readonly HealthMessage[];
    readonly dismissed: boolean;
}
interface DERPHealthReport extends BaseReport {
    readonly healthy: boolean;
    readonly regions: Record<number, DERPRegionReport>;
    readonly netcheck?: any;
    readonly netcheck_err?: string;
    readonly netcheck_logs: readonly string[];
}
interface DERPNodeReport {
    readonly healthy: boolean;
    readonly severity: HealthSeverity;
    readonly warnings: readonly HealthMessage[];
    readonly error?: string;
    readonly node?: any;
    readonly node_info: any;
    readonly can_exchange_messages: boolean;
    readonly round_trip_ping: string;
    readonly round_trip_ping_ms: number;
    readonly uses_websocket: boolean;
    readonly client_logs: readonly (readonly string[])[];
    readonly client_errs: readonly (readonly string[])[];
    readonly stun: STUNReport;
}
interface DERPRegionReport {
    readonly healthy: boolean;
    readonly severity: HealthSeverity;
    readonly warnings: readonly HealthMessage[];
    readonly error?: string;
    readonly region?: any;
    readonly node_reports: readonly DERPNodeReport[];
}
interface DatabaseReport extends BaseReport {
    readonly healthy: boolean;
    readonly reachable: boolean;
    readonly latency: string;
    readonly latency_ms: number;
    readonly threshold_ms: number;
}
interface HealthSettings {
    readonly dismissed_healthchecks: readonly HealthSection[];
}
interface HealthcheckReport {
    readonly time: string;
    readonly healthy: boolean;
    readonly severity: HealthSeverity;
    readonly failing_sections: readonly HealthSection[];
    readonly derp: DERPHealthReport;
    readonly access_url: AccessURLReport;
    readonly websocket: WebsocketReport;
    readonly database: DatabaseReport;
    readonly workspace_proxy: WorkspaceProxyReport;
    readonly provisioner_daemons: ProvisionerDaemonsReport;
    readonly coder_version: string;
}
interface ProvisionerDaemonsReport extends BaseReport {
    readonly items: readonly ProvisionerDaemonsReportItem[];
}
interface ProvisionerDaemonsReportItem {
    readonly provisioner_daemon: ProvisionerDaemon;
    readonly warnings: readonly HealthMessage[];
}
interface STUNReport {
    readonly Enabled: boolean;
    readonly CanSTUN: boolean;
    readonly Error?: string;
}
interface UpdateHealthSettings {
    readonly dismissed_healthchecks: readonly HealthSection[];
}
interface WebsocketReport extends BaseReport {
    readonly healthy: boolean;
    readonly body: string;
    readonly code: number;
}
interface WorkspaceProxyReport extends BaseReport {
    readonly healthy: boolean;
    readonly workspace_proxies: RegionsResponse<WorkspaceProxy>;
}
type HealthSection = 'AccessURL' | 'DERP' | 'Database' | 'ProvisionerDaemons' | 'Websocket' | 'WorkspaceProxy';
declare const HealthSections: HealthSection[];
interface HealthMessage {
    readonly code: HealthCode;
    readonly message: string;
}
type HealthCode = 'EACS01' | 'EACS02' | 'EACS03' | 'EACS04' | 'EDB01' | 'EDB02' | 'EDERP01' | 'EDERP02' | 'EPD01' | 'EPD02' | 'EPD03' | 'EUNKNOWN' | 'EWP01' | 'EWP02' | 'EWP04' | 'EWS01' | 'EWS02' | 'EWS03';
declare const HealthCodes: HealthCode[];
type HealthSeverity = 'error' | 'ok' | 'warning';
declare const HealthSeveritys: HealthSeverity[];
type SerpentAnnotations = Record<string, string>;
interface SerpentGroup {
    readonly parent?: SerpentGroup;
    readonly name?: string;
    readonly yaml?: string;
    readonly description?: string;
}
interface SerpentOption {
    readonly name?: string;
    readonly description?: string;
    readonly required?: boolean;
    readonly flag?: string;
    readonly flag_shorthand?: string;
    readonly env?: string;
    readonly yaml?: string;
    readonly default?: string;
    readonly value?: any;
    readonly annotations?: SerpentAnnotations;
    readonly group?: SerpentGroup;
    readonly use_instead?: readonly SerpentOption[];
    readonly hidden?: boolean;
    readonly value_source?: SerpentValueSource;
}
type SerpentOptionSet = readonly SerpentOption[];
type SerpentValueSource = '' | 'default' | 'env' | 'flag' | 'yaml';
declare const SerpentValueSources: SerpentValueSource[];

type AuthState = Readonly<{
    status: 'initializing' | 'tokenMissing';
    token: undefined;
    error: undefined;
} | {
    status: 'authenticated' | 'distrustedWithGracePeriod';
    token: string;
    error: undefined;
} | {
    status: 'authenticating' | 'invalid' | 'distrusted' | 'noInternetConnection' | 'deploymentUnavailable';
    token: undefined;
    error: unknown;
}>;
type CoderAuth = Readonly<AuthState & {
    isAuthenticated: boolean;
    registerNewToken: (newToken: string) => void;
    unlinkToken: () => void;
}>;
/**
 * Exposes Coder auth state to the rest of the UI.
 */
declare function useEndUserCoderAuth(): CoderAuth;
type FallbackAuthInputBehavior = 'restrained' | 'assertive' | 'hidden';
type CoderAuthProviderProps = Readonly<PropsWithChildren<{
    fallbackAuthUiMode?: FallbackAuthInputBehavior;
}>>;
declare function CoderAuthProvider({ children, fallbackAuthUiMode, }: CoderAuthProviderProps): react__default.JSX.Element;

type CoderAppConfig = Readonly<{
    deployment: Readonly<{
        accessUrl: string;
    }>;
    workspaces: Readonly<{
        defaultMode?: WorkspaceCreationMode;
        defaultTemplateName?: string;
        params?: Record<string, string | undefined>;
        repoUrlParamKeys: readonly [string, ...string[]];
    }>;
}>;
type CoderSettingsProviderProps = Readonly<PropsWithChildren<{
    appConfig: CoderAppConfig;
}>>;
declare const CoderAppConfigProvider: ({ children, appConfig, }: CoderSettingsProviderProps) => react__default.JSX.Element;

type CoderProviderProps = ComponentProps<typeof CoderAuthProvider> & ComponentProps<typeof CoderAppConfigProvider> & {
    queryClient?: QueryClient;
};

declare const workspaceCreationModeSchema: valibot.OptionalSchema<valibot.UnionSchema<(valibot.LiteralSchema<"manual", "manual"> | valibot.LiteralSchema<"auto", "auto">)[], "manual" | "auto">, undefined, "manual" | "auto" | undefined>;
type WorkspaceCreationMode = Output<typeof workspaceCreationModeSchema>;
/**
 * Provides a cleaned and pre-processed version of all repo data that can be
 * sourced from CoderAppConfig and any entity data.
 */
type CoderWorkspacesConfig = Readonly<{
    isReadingEntityData: boolean;
    creationUrl?: string;
    templateName?: string;
    repoUrlParamKeys: readonly string[];
    mode: 'manual' | 'auto';
    params: Record<string, string | undefined>;
    repoUrl: string | undefined;
}>;
type UseCoderWorkspacesConfigOptions = Readonly<{
    readEntityData?: boolean;
}>;
declare function useCoderWorkspacesConfig({ readEntityData, }: UseCoderWorkspacesConfigOptions): CoderWorkspacesConfig;

/**
 * @file Coder is starting to import the Coder API file into more and more
 * external projects, as a "pseudo-SDK". We are not at a stage where we are
 * ready to commit to maintaining a public SDK, but we need equivalent
 * functionality in other places.
 *
 * Message somebody from Team Blueberry if you need more context, but so far,
 * these projects are importing the file:
 *
 * - The Coder VS Code extension
 *   @see {@link https://github.com/coder/vscode-coder}
 * - The Coder Backstage plugin
 *   @see {@link https://github.com/coder/backstage-plugins}
 *
 * It is important that this file not do any aliased imports, or else the other
 * consumers could break (particularly for platforms that limit how much you can
 * touch their configuration files, like Backstage). Relative imports are still
 * safe, though.
 *
 * For example, `utils/delay` must be imported using `../utils/delay` instead.
 */

type TemplateOptions = Readonly<{
    readonly deprecated?: boolean;
}>;
type RestartWorkspaceParameters = Readonly<{
    workspace: Workspace;
    buildParameters?: WorkspaceBuildParameter[];
}>;
type DeleteWorkspaceOptions = Pick<CreateWorkspaceBuildRequest, 'log_level' | 'orphan'>;
type Claims = {
    license_expires: number;
    account_type?: string;
    account_id?: string;
    trial: boolean;
    all_features: boolean;
    version: number;
    features: Record<string, number>;
    require_telemetry?: boolean;
};
type GetLicensesResponse = Omit<License, 'claims'> & {
    claims: Claims;
    expires_at: string;
};
type InsightsParams = {
    start_time: string;
    end_time: string;
    template_ids: string;
};
type InsightsTemplateParams = InsightsParams & {
    interval: 'day' | 'week';
};
type GetJFrogXRayScanParams = {
    workspaceId: string;
    agentId: string;
};
/**
 * This is the container for all API methods. It's split off to make it more
 * clear where API methods should go, but it is eventually merged into the Api
 * class with a more flat hierarchy
 *
 * All public methods should be defined as arrow functions to ensure that they
 * can be passed around the React UI without losing their `this` context.
 *
 * This is one of the few cases where you have to worry about the difference
 * between traditional methods and arrow function properties. Arrow functions
 * disable JS's dynamic scope, and force all `this` references to resolve via
 * lexical scope.
 */
declare class ApiMethods {
    protected readonly axios: AxiosInstance;
    constructor(axios: AxiosInstance);
    login: (email: string, password: string) => Promise<LoginWithPasswordResponse>;
    convertToOAUTH: (request: ConvertLoginRequest) => Promise<OAuthConversionResponse>;
    logout: () => Promise<void>;
    getAuthenticatedUser: () => Promise<User>;
    getUserParameters: (templateID: string) => Promise<UserParameter[]>;
    getAuthMethods: () => Promise<AuthMethods>;
    getUserLoginType: () => Promise<UserLoginType>;
    checkAuthorization: (params: AuthorizationRequest) => Promise<AuthorizationResponse>;
    getApiKey: () => Promise<GenerateAPIKeyResponse>;
    getTokens: (params: TokensFilter) => Promise<APIKeyWithOwner[]>;
    deleteToken: (keyId: string) => Promise<void>;
    createToken: (params: CreateTokenRequest) => Promise<GenerateAPIKeyResponse>;
    getTokenConfig: () => Promise<TokenConfig>;
    getUsers: (options: UsersRequest, signal?: AbortSignal) => Promise<GetUsersResponse>;
    getOrganization: (organizationId: string) => Promise<Organization>;
    getOrganizations: () => Promise<Organization[]>;
    getTemplate: (templateId: string) => Promise<Template>;
    getTemplates: (organizationId: string, options?: TemplateOptions) => Promise<Template[]>;
    getTemplateByName: (organizationId: string, name: string) => Promise<Template>;
    getTemplateVersion: (versionId: string) => Promise<TemplateVersion>;
    getTemplateVersionResources: (versionId: string) => Promise<WorkspaceResource[]>;
    getTemplateVersionVariables: (versionId: string) => Promise<TemplateVersionVariable[]>;
    getTemplateVersions: (templateId: string) => Promise<TemplateVersion[]>;
    getTemplateVersionByName: (organizationId: string, templateName: string, versionName: string) => Promise<TemplateVersion>;
    getPreviousTemplateVersionByName: (organizationId: string, templateName: string, versionName: string) => Promise<TemplateVersion | undefined>;
    createTemplateVersion: (organizationId: string, data: CreateTemplateVersionRequest) => Promise<TemplateVersion>;
    getTemplateVersionExternalAuth: (versionId: string) => Promise<TemplateVersionExternalAuth[]>;
    getTemplateVersionRichParameters: (versionId: string) => Promise<TemplateVersionParameter[]>;
    createTemplate: (organizationId: string, data: CreateTemplateRequest) => Promise<Template>;
    updateActiveTemplateVersion: (templateId: string, data: UpdateActiveTemplateVersion) => Promise<Response>;
    patchTemplateVersion: (templateVersionId: string, data: PatchTemplateVersionRequest) => Promise<TemplateVersion>;
    archiveTemplateVersion: (templateVersionId: string) => Promise<TemplateVersion>;
    unarchiveTemplateVersion: (templateVersionId: string) => Promise<TemplateVersion>;
    updateTemplateMeta: (templateId: string, data: UpdateTemplateMeta) => Promise<Template | null>;
    deleteTemplate: (templateId: string) => Promise<Template>;
    getWorkspace: (workspaceId: string, params?: WorkspaceOptions) => Promise<Workspace>;
    getWorkspaces: (options: WorkspacesRequest) => Promise<WorkspacesResponse>;
    getWorkspaceByOwnerAndName: (username: string | undefined, workspaceName: string, params?: WorkspaceOptions) => Promise<Workspace>;
    getWorkspaceBuildByNumber: (username: string | undefined, workspaceName: string, buildNumber: number) => Promise<WorkspaceBuild>;
    waitForBuild: (build: WorkspaceBuild) => Promise<ProvisionerJob | undefined>;
    postWorkspaceBuild: (workspaceId: string, data: CreateWorkspaceBuildRequest) => Promise<WorkspaceBuild>;
    startWorkspace: (workspaceId: string, templateVersionId: string, logLevel?: ProvisionerLogLevel, buildParameters?: WorkspaceBuildParameter[]) => Promise<WorkspaceBuild>;
    stopWorkspace: (workspaceId: string, logLevel?: ProvisionerLogLevel) => Promise<WorkspaceBuild>;
    deleteWorkspace: (workspaceId: string, options?: DeleteWorkspaceOptions) => Promise<WorkspaceBuild>;
    cancelWorkspaceBuild: (workspaceBuildId: WorkspaceBuild['id']) => Promise<Response>;
    updateWorkspaceDormancy: (workspaceId: string, dormant: boolean) => Promise<Workspace>;
    updateWorkspaceAutomaticUpdates: (workspaceId: string, automaticUpdates: AutomaticUpdates) => Promise<void>;
    restartWorkspace: ({ workspace, buildParameters, }: RestartWorkspaceParameters) => Promise<void>;
    cancelTemplateVersionBuild: (templateVersionId: TemplateVersion['id']) => Promise<Response>;
    createUser: (user: CreateUserRequest) => Promise<User>;
    createWorkspace: (organizationId: string, userId: string | undefined, workspace: CreateWorkspaceRequest) => Promise<Workspace>;
    patchWorkspace: (workspaceId: string, data: UpdateWorkspaceRequest) => Promise<void>;
    getBuildInfo: () => Promise<BuildInfoResponse>;
    getUpdateCheck: () => Promise<UpdateCheckResponse>;
    putWorkspaceAutostart: (workspaceID: string, autostart: UpdateWorkspaceAutostartRequest) => Promise<void>;
    putWorkspaceAutostop: (workspaceID: string, ttl: UpdateWorkspaceTTLRequest) => Promise<void>;
    updateProfile: (userId: string, data: UpdateUserProfileRequest) => Promise<User>;
    updateAppearanceSettings: (userId: string, data: UpdateUserAppearanceSettingsRequest) => Promise<User>;
    getUserQuietHoursSchedule: (userId: User['id']) => Promise<UserQuietHoursScheduleResponse>;
    updateUserQuietHoursSchedule: (userId: User['id'], data: UpdateUserQuietHoursScheduleRequest) => Promise<UserQuietHoursScheduleResponse>;
    activateUser: (userId: User['id']) => Promise<User>;
    suspendUser: (userId: User['id']) => Promise<User>;
    deleteUser: (userId: User['id']) => Promise<void>;
    hasFirstUser: () => Promise<boolean>;
    createFirstUser: (req: CreateFirstUserRequest) => Promise<CreateFirstUserResponse>;
    updateUserPassword: (userId: User['id'], updatePassword: UpdateUserPasswordRequest) => Promise<undefined>;
    getRoles: () => Promise<Array<AssignableRoles>>;
    updateUserRoles: (roles: SlimRole['name'][], userId: User['id']) => Promise<User>;
    getUserSSHKey: (userId?: string) => Promise<GitSSHKey>;
    regenerateUserSSHKey: (userId?: string) => Promise<GitSSHKey>;
    getWorkspaceBuilds: (workspaceId: string, req?: WorkspaceBuildsRequest) => Promise<WorkspaceBuild[]>;
    getWorkspaceBuildLogs: (buildId: string, before: Date) => Promise<ProvisionerJobLog[]>;
    getWorkspaceAgentLogs: (agentID: string) => Promise<WorkspaceAgentLog[]>;
    putWorkspaceExtension: (workspaceId: string, newDeadline: dayjs.Dayjs) => Promise<void>;
    refreshEntitlements: () => Promise<void>;
    getEntitlements: () => Promise<Entitlements>;
    getExperiments: () => Promise<Experiment[]>;
    getAvailableExperiments: () => Promise<AvailableExperiments>;
    getExternalAuthProvider: (provider: string) => Promise<ExternalAuth>;
    getExternalAuthDevice: (provider: string) => Promise<ExternalAuthDevice>;
    exchangeExternalAuthDevice: (provider: string, req: ExternalAuthDeviceExchange) => Promise<void>;
    getUserExternalAuthProviders: () => Promise<ListUserExternalAuthResponse>;
    unlinkExternalAuthProvider: (provider: string) => Promise<string>;
    getOAuth2ProviderApps: (filter?: OAuth2ProviderAppFilter) => Promise<OAuth2ProviderApp[]>;
    getOAuth2ProviderApp: (id: string) => Promise<OAuth2ProviderApp>;
    postOAuth2ProviderApp: (data: PostOAuth2ProviderAppRequest) => Promise<OAuth2ProviderApp>;
    putOAuth2ProviderApp: (id: string, data: PutOAuth2ProviderAppRequest) => Promise<OAuth2ProviderApp>;
    deleteOAuth2ProviderApp: (id: string) => Promise<void>;
    getOAuth2ProviderAppSecrets: (id: string) => Promise<OAuth2ProviderAppSecret[]>;
    postOAuth2ProviderAppSecret: (id: string) => Promise<OAuth2ProviderAppSecretFull>;
    deleteOAuth2ProviderAppSecret: (appId: string, secretId: string) => Promise<void>;
    revokeOAuth2ProviderApp: (appId: string) => Promise<void>;
    getAuditLogs: (options: AuditLogsRequest) => Promise<AuditLogResponse>;
    getTemplateDAUs: (templateId: string) => Promise<DAUsResponse>;
    getDeploymentDAUs: (offset?: number) => Promise<DAUsResponse>;
    getTemplateACLAvailable: (templateId: string, options: UsersRequest) => Promise<ACLAvailable>;
    getTemplateACL: (templateId: string) => Promise<TemplateACL>;
    updateTemplateACL: (templateId: string, data: UpdateTemplateACL) => Promise<{
        message: string;
    }>;
    getApplicationsHost: () => Promise<AppHostResponse>;
    getGroups: (organizationId: string) => Promise<Group[]>;
    createGroup: (organizationId: string, data: CreateGroupRequest) => Promise<Group>;
    getGroup: (groupId: string) => Promise<Group>;
    patchGroup: (groupId: string, data: PatchGroupRequest) => Promise<Group>;
    addMember: (groupId: string, userId: string) => Promise<Group>;
    removeMember: (groupId: string, userId: string) => Promise<Group>;
    deleteGroup: (groupId: string) => Promise<void>;
    getWorkspaceQuota: (username: string) => Promise<WorkspaceQuota>;
    getAgentListeningPorts: (agentID: string) => Promise<WorkspaceAgentListeningPortsResponse>;
    getWorkspaceAgentSharedPorts: (workspaceID: string) => Promise<WorkspaceAgentPortShares>;
    upsertWorkspaceAgentSharedPort: (workspaceID: string, req: UpsertWorkspaceAgentPortShareRequest) => Promise<WorkspaceAgentPortShares>;
    deleteWorkspaceAgentSharedPort: (workspaceID: string, req: DeleteWorkspaceAgentPortShareRequest) => Promise<WorkspaceAgentPortShares>;
    getDeploymentSSHConfig: () => Promise<SSHConfigResponse>;
    getDeploymentConfig: () => Promise<DeploymentConfig>;
    getDeploymentStats: () => Promise<DeploymentStats>;
    getReplicas: () => Promise<Replica[]>;
    getFile: (fileId: string) => Promise<ArrayBuffer>;
    getWorkspaceProxyRegions: () => Promise<RegionsResponse<Region>>;
    getWorkspaceProxies: () => Promise<RegionsResponse<WorkspaceProxy>>;
    createWorkspaceProxy: (b: CreateWorkspaceProxyRequest) => Promise<UpdateWorkspaceProxyResponse>;
    getAppearance: () => Promise<AppearanceConfig>;
    updateAppearance: (b: AppearanceConfig) => Promise<AppearanceConfig>;
    getTemplateExamples: (organizationId: string) => Promise<TemplateExample[]>;
    uploadFile: (file: File) => Promise<UploadResponse>;
    getTemplateVersionLogs: (versionId: string) => Promise<ProvisionerJobLog[]>;
    updateWorkspaceVersion: (workspace: Workspace) => Promise<WorkspaceBuild>;
    getWorkspaceBuildParameters: (workspaceBuildId: WorkspaceBuild['id']) => Promise<WorkspaceBuildParameter[]>;
    getLicenses: () => Promise<GetLicensesResponse[]>;
    createLicense: (data: AddLicenseRequest) => Promise<AddLicenseRequest>;
    removeLicense: (licenseId: number) => Promise<void>;
    /** Steps to change the workspace version
     * - Get the latest template to access the latest active version
     * - Get the current build parameters
     * - Get the template parameters
     * - Update the build parameters and check if there are missed parameters for
     *   the new version
     *   - If there are missing parameters raise an error
     * - Create a build with the version and updated build parameters
     */
    changeWorkspaceVersion: (workspace: Workspace, templateVersionId: string, newBuildParameters?: WorkspaceBuildParameter[]) => Promise<WorkspaceBuild>;
    /** Steps to update the workspace
     * - Get the latest template to access the latest active version
     * - Get the current build parameters
     * - Get the template parameters
     * - Update the build parameters and check if there are missed parameters for
     *   the newest version
     *   - If there are missing parameters raise an error
     * - Create a build with the latest version and updated build parameters
     */
    updateWorkspace: (workspace: Workspace, newBuildParameters?: WorkspaceBuildParameter[]) => Promise<WorkspaceBuild>;
    getWorkspaceResolveAutostart: (workspaceId: string) => Promise<ResolveAutostartResponse>;
    issueReconnectingPTYSignedToken: (params: IssueReconnectingPTYSignedTokenRequest) => Promise<IssueReconnectingPTYSignedTokenResponse>;
    getWorkspaceParameters: (workspace: Workspace) => Promise<{
        templateVersionRichParameters: TemplateVersionParameter[];
        buildParameters: WorkspaceBuildParameter[];
    }>;
    getInsightsUserLatency: (filters: InsightsParams) => Promise<UserLatencyInsightsResponse>;
    getInsightsUserActivity: (filters: InsightsParams) => Promise<UserActivityInsightsResponse>;
    getInsightsTemplate: (params: InsightsTemplateParams) => Promise<TemplateInsightsResponse>;
    getHealth: (force?: boolean) => Promise<HealthcheckReport>;
    getHealthSettings: () => Promise<HealthSettings>;
    updateHealthSettings: (data: UpdateHealthSettings) => Promise<HealthSettings>;
    putFavoriteWorkspace: (workspaceID: string) => Promise<void>;
    deleteFavoriteWorkspace: (workspaceID: string) => Promise<void>;
    getJFrogXRayScan: (options: GetJFrogXRayScanParams) => Promise<JFrogXrayScan | null>;
}
interface ClientApi extends ApiMethods {
    getCsrfToken: () => string;
    setSessionToken: (token: string) => void;
    setHost: (host: string | undefined) => void;
    getAxiosInstance: () => AxiosInstance;
}
declare class Api extends ApiMethods implements ClientApi {
    constructor();
    getCsrfToken: () => string;
    setSessionToken: (token: string) => void;
    setHost: (host: string | undefined) => void;
    getAxiosInstance: () => AxiosInstance;
}

type PropertyToHide = 'getJFrogXRayScan' | 'getCsrfToken' | 'setSessionToken' | 'setHost' | 'getAvailableExperiments' | 'login' | 'logout' | 'convertToOAUTH' | 'waitForBuild' | 'addMember' | 'removeMember' | 'getWorkspaceParameters';
type CoderApi = Omit<Api, PropertyToHide>;

/**
 * @file Wires up all the core logic for passing values down to the
 * sub-components in the same directory.
 */

type WorkspacesQuery = UseQueryResult<readonly Workspace[]>;
type WorkspacesCardContext = Readonly<{
    queryFilter: string;
    onFilterChange: (newFilter: string) => void;
    workspacesQuery: WorkspacesQuery;
    workspacesConfig: CoderWorkspacesConfig;
    headerId: string;
}>;
type WorkspacesCardProps = Readonly<Omit<HTMLAttributes<HTMLDivElement>, 'role' | 'aria-labelledby'> & {
    queryFilter?: string;
    defaultQueryFilter?: string;
    onFilterChange?: (newFilter: string) => void;
    readEntityData?: boolean;
    headerContent?: ReactNode;
}>;
declare function Root(props: WorkspacesCardProps): react__default.JSX.Element;
declare function useWorkspacesCardContext(): WorkspacesCardContext;

type ReminderAccordionProps = Readonly<{
    canShowEntityReminder?: boolean;
    canShowTemplateNameReminder?: boolean;
}>;
declare function ReminderAccordion({ canShowEntityReminder, canShowTemplateNameReminder, }: ReminderAccordionProps): react__default.JSX.Element;

/**
 * A version of the main Coder API, with additional Backstage-specific
 * methods and properties.
 */
type BackstageCoderApi = Readonly<CoderApi & {
    getWorkspacesByRepo: (request: WorkspacesRequest, config: CoderWorkspacesConfig) => Promise<WorkspacesResponse>;
}>;

declare function useCoderApi(): BackstageCoderApi;

/**
 * @file Defines a couple of wrappers over React Query/Tanstack Query that make
 * it easier to use the Coder API within UI logic.
 *
 * These hooks are designed 100% for end-users, and should not be used
 * internally. Use useEndUserCoderAuth when working with auth logic within these
 * hooks.
 *
 * ---
 * @todo 2024-05-28 - This isn't fully complete until we have an equivalent
 * wrapper for useMutation, and have an idea of how useCoderQuery and
 * useCoderMutation can be used together.
 *
 * Making the useMutation wrapper shouldn't be hard, but you want some good
 * integration tests to verify that the two hooks can satisfy common user flows.
 */

type CoderQueryFunctionContext<TQueryKey extends QueryKey = QueryKey> = QueryFunctionContext<TQueryKey> & {
    coderApi: BackstageCoderApi;
};
type CoderQueryFunction<T = unknown, TQueryKey extends QueryKey = QueryKey> = (context: CoderQueryFunctionContext<TQueryKey>) => Promise<T>;
type UseCoderQueryOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryFn' | 'isDataEqual' | 'onError' | 'onSuccess' | 'onSettled'> & {
    queryFn: CoderQueryFunction<TQueryFnData, TQueryKey>;
};
declare function useCoderQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(queryOptions: UseCoderQueryOptions<TQueryFnData, TError, TData, TQueryKey>): UseQueryResult<TData, TError>;

declare const CODER_QUERY_KEY_PREFIX: string;

declare const coderPlugin: _backstage_core_plugin_api.BackstagePlugin<{
    root: _backstage_core_plugin_api.RouteRef<undefined>;
}, {}, {}>;
/**
 * All public component exports exposed by the plugin.
 *
 * Make sure that all name properties for each exported component are unique. If
 * there are conflicts, you could run into Backstage compilation issues with no
 * good error messages to help you track down the source.
 */
declare const CoderProvider: ({ children, appConfig, fallbackAuthUiMode, queryClient, }: CoderProviderProps) => react.JSX.Element;
declare const CoderErrorBoundary: ({ children, fallbackUi, }: {
    children?: react.ReactNode;
    fallbackUi?: react.ReactNode;
}) => react.JSX.Element;
declare const CoderWorkspacesCard: (props: {
    readonly slot?: string | undefined;
    readonly style?: react.CSSProperties | undefined;
    readonly title?: string | undefined;
    readonly onError?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly id?: string | undefined;
    readonly dir?: string | undefined;
    readonly content?: string | undefined;
    readonly defaultChecked?: boolean | undefined;
    readonly defaultValue?: string | number | readonly string[] | undefined;
    readonly suppressContentEditableWarning?: boolean | undefined;
    readonly suppressHydrationWarning?: boolean | undefined;
    readonly accessKey?: string | undefined;
    readonly autoFocus?: boolean | undefined;
    readonly className?: string | undefined;
    readonly contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
    readonly contextMenu?: string | undefined;
    readonly draggable?: (boolean | "true" | "false") | undefined;
    readonly hidden?: boolean | undefined;
    readonly lang?: string | undefined;
    readonly nonce?: string | undefined;
    readonly spellCheck?: (boolean | "true" | "false") | undefined;
    readonly tabIndex?: number | undefined;
    readonly translate?: "yes" | "no" | undefined;
    readonly radioGroup?: string | undefined;
    readonly about?: string | undefined;
    readonly datatype?: string | undefined;
    readonly inlist?: any;
    readonly prefix?: string | undefined;
    readonly property?: string | undefined;
    readonly rel?: string | undefined;
    readonly resource?: string | undefined;
    readonly rev?: string | undefined;
    readonly typeof?: string | undefined;
    readonly vocab?: string | undefined;
    readonly autoCapitalize?: string | undefined;
    readonly autoCorrect?: string | undefined;
    readonly autoSave?: string | undefined;
    readonly color?: string | undefined;
    readonly itemProp?: string | undefined;
    readonly itemScope?: boolean | undefined;
    readonly itemType?: string | undefined;
    readonly itemID?: string | undefined;
    readonly itemRef?: string | undefined;
    readonly results?: number | undefined;
    readonly security?: string | undefined;
    readonly unselectable?: "off" | "on" | undefined;
    readonly inputMode?: "search" | "text" | "none" | "url" | "tel" | "email" | "numeric" | "decimal" | undefined;
    readonly is?: string | undefined;
    readonly "aria-activedescendant"?: string | undefined;
    readonly "aria-atomic"?: (boolean | "true" | "false") | undefined;
    readonly "aria-autocomplete"?: "none" | "both" | "inline" | "list" | undefined;
    readonly "aria-braillelabel"?: string | undefined;
    readonly "aria-brailleroledescription"?: string | undefined;
    readonly "aria-busy"?: (boolean | "true" | "false") | undefined;
    readonly "aria-checked"?: boolean | "true" | "mixed" | "false" | undefined;
    readonly "aria-colcount"?: number | undefined;
    readonly "aria-colindex"?: number | undefined;
    readonly "aria-colindextext"?: string | undefined;
    readonly "aria-colspan"?: number | undefined;
    readonly "aria-controls"?: string | undefined;
    readonly "aria-current"?: boolean | "time" | "true" | "page" | "false" | "step" | "location" | "date" | undefined;
    readonly "aria-describedby"?: string | undefined;
    readonly "aria-description"?: string | undefined;
    readonly "aria-details"?: string | undefined;
    readonly "aria-disabled"?: (boolean | "true" | "false") | undefined;
    readonly "aria-dropeffect"?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined;
    readonly "aria-errormessage"?: string | undefined;
    readonly "aria-expanded"?: (boolean | "true" | "false") | undefined;
    readonly "aria-flowto"?: string | undefined;
    readonly "aria-grabbed"?: (boolean | "true" | "false") | undefined;
    readonly "aria-haspopup"?: boolean | "dialog" | "menu" | "true" | "grid" | "listbox" | "false" | "tree" | undefined;
    readonly "aria-hidden"?: (boolean | "true" | "false") | undefined;
    readonly "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
    readonly "aria-keyshortcuts"?: string | undefined;
    readonly "aria-label"?: string | undefined;
    readonly "aria-level"?: number | undefined;
    readonly "aria-live"?: "off" | "assertive" | "polite" | undefined;
    readonly "aria-modal"?: (boolean | "true" | "false") | undefined;
    readonly "aria-multiline"?: (boolean | "true" | "false") | undefined;
    readonly "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
    readonly "aria-orientation"?: "horizontal" | "vertical" | undefined;
    readonly "aria-owns"?: string | undefined;
    readonly "aria-placeholder"?: string | undefined;
    readonly "aria-posinset"?: number | undefined;
    readonly "aria-pressed"?: boolean | "true" | "mixed" | "false" | undefined;
    readonly "aria-readonly"?: (boolean | "true" | "false") | undefined;
    readonly "aria-relevant"?: "text" | "all" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
    readonly "aria-required"?: (boolean | "true" | "false") | undefined;
    readonly "aria-roledescription"?: string | undefined;
    readonly "aria-rowcount"?: number | undefined;
    readonly "aria-rowindex"?: number | undefined;
    readonly "aria-rowindextext"?: string | undefined;
    readonly "aria-rowspan"?: number | undefined;
    readonly "aria-selected"?: (boolean | "true" | "false") | undefined;
    readonly "aria-setsize"?: number | undefined;
    readonly "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
    readonly "aria-valuemax"?: number | undefined;
    readonly "aria-valuemin"?: number | undefined;
    readonly "aria-valuenow"?: number | undefined;
    readonly "aria-valuetext"?: string | undefined;
    readonly dangerouslySetInnerHTML?: {
        __html: string | TrustedHTML;
    } | undefined;
    readonly onCopy?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
    readonly onCopyCapture?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
    readonly onCut?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
    readonly onCutCapture?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
    readonly onPaste?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
    readonly onPasteCapture?: react.ClipboardEventHandler<HTMLDivElement> | undefined;
    readonly onCompositionEnd?: react.CompositionEventHandler<HTMLDivElement> | undefined;
    readonly onCompositionEndCapture?: react.CompositionEventHandler<HTMLDivElement> | undefined;
    readonly onCompositionStart?: react.CompositionEventHandler<HTMLDivElement> | undefined;
    readonly onCompositionStartCapture?: react.CompositionEventHandler<HTMLDivElement> | undefined;
    readonly onCompositionUpdate?: react.CompositionEventHandler<HTMLDivElement> | undefined;
    readonly onCompositionUpdateCapture?: react.CompositionEventHandler<HTMLDivElement> | undefined;
    readonly onFocus?: react.FocusEventHandler<HTMLDivElement> | undefined;
    readonly onFocusCapture?: react.FocusEventHandler<HTMLDivElement> | undefined;
    readonly onBlur?: react.FocusEventHandler<HTMLDivElement> | undefined;
    readonly onBlurCapture?: react.FocusEventHandler<HTMLDivElement> | undefined;
    readonly onChange?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onChangeCapture?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onBeforeInput?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onBeforeInputCapture?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onInput?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onInputCapture?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onReset?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onResetCapture?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onSubmit?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onSubmitCapture?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onInvalid?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onInvalidCapture?: react.FormEventHandler<HTMLDivElement> | undefined;
    readonly onLoad?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onLoadCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onErrorCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onKeyDown?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
    readonly onKeyDownCapture?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
    readonly onKeyPress?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
    readonly onKeyPressCapture?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
    readonly onKeyUp?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
    readonly onKeyUpCapture?: react.KeyboardEventHandler<HTMLDivElement> | undefined;
    readonly onAbort?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onAbortCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onCanPlay?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onCanPlayCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onCanPlayThrough?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onCanPlayThroughCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onDurationChange?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onDurationChangeCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onEmptied?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onEmptiedCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onEncrypted?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onEncryptedCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onEnded?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onEndedCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onLoadedData?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onLoadedDataCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onLoadedMetadata?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onLoadedMetadataCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onLoadStart?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onLoadStartCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onPause?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onPauseCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onPlay?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onPlayCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onPlaying?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onPlayingCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onProgress?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onProgressCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onRateChange?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onRateChangeCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onResize?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onResizeCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onSeeked?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onSeekedCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onSeeking?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onSeekingCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onStalled?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onStalledCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onSuspend?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onSuspendCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onTimeUpdate?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onTimeUpdateCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onVolumeChange?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onVolumeChangeCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onWaiting?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onWaitingCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onAuxClick?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onAuxClickCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onClick?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onClickCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onContextMenu?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onContextMenuCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onDoubleClick?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onDoubleClickCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onDrag?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragEnd?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragEndCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragEnter?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragEnterCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragExit?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragExitCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragLeave?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragLeaveCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragOver?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragOverCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragStart?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDragStartCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDrop?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onDropCapture?: react.DragEventHandler<HTMLDivElement> | undefined;
    readonly onMouseDown?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseDownCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseEnter?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseLeave?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseMove?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseMoveCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseOut?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseOutCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseOver?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseOverCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseUp?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onMouseUpCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
    readonly onSelect?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onSelectCapture?: react.ReactEventHandler<HTMLDivElement> | undefined;
    readonly onTouchCancel?: react.TouchEventHandler<HTMLDivElement> | undefined;
    readonly onTouchCancelCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
    readonly onTouchEnd?: react.TouchEventHandler<HTMLDivElement> | undefined;
    readonly onTouchEndCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
    readonly onTouchMove?: react.TouchEventHandler<HTMLDivElement> | undefined;
    readonly onTouchMoveCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
    readonly onTouchStart?: react.TouchEventHandler<HTMLDivElement> | undefined;
    readonly onTouchStartCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
    readonly onPointerDown?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerDownCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerMove?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerMoveCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerUp?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerUpCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerCancel?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerCancelCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerEnter?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerLeave?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerOver?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerOverCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerOut?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onPointerOutCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onGotPointerCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onGotPointerCaptureCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onLostPointerCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onLostPointerCaptureCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
    readonly onScroll?: react.UIEventHandler<HTMLDivElement> | undefined;
    readonly onScrollCapture?: react.UIEventHandler<HTMLDivElement> | undefined;
    readonly onWheel?: react.WheelEventHandler<HTMLDivElement> | undefined;
    readonly onWheelCapture?: react.WheelEventHandler<HTMLDivElement> | undefined;
    readonly onAnimationStart?: react.AnimationEventHandler<HTMLDivElement> | undefined;
    readonly onAnimationStartCapture?: react.AnimationEventHandler<HTMLDivElement> | undefined;
    readonly onAnimationEnd?: react.AnimationEventHandler<HTMLDivElement> | undefined;
    readonly onAnimationEndCapture?: react.AnimationEventHandler<HTMLDivElement> | undefined;
    readonly onAnimationIteration?: react.AnimationEventHandler<HTMLDivElement> | undefined;
    readonly onAnimationIterationCapture?: react.AnimationEventHandler<HTMLDivElement> | undefined;
    readonly onTransitionEnd?: react.TransitionEventHandler<HTMLDivElement> | undefined;
    readonly onTransitionEndCapture?: react.TransitionEventHandler<HTMLDivElement> | undefined;
    readonly readEntityData?: boolean | undefined;
    readonly headerContent?: react.ReactNode;
    readonly queryFilter?: string | undefined;
    readonly defaultQueryFilter?: string | undefined;
    readonly onFilterChange?: ((newFilter: string) => void) | undefined;
}) => react.JSX.Element;
declare const CoderWorkspacesCardCreateWorkspacesLink: ({ children, className, tooltipRef, target, tooltipText, tooltipProps, ...delegatedProps }: Readonly<Omit<react.AnchorHTMLAttributes<HTMLAnchorElement>, "aria-disabled"> & {
    tooltipText?: string | react.ReactElement<any, string | react.JSXElementConstructor<any>> | undefined;
    tooltipProps?: Omit<_material_ui_core.TooltipProps, "title" | "children"> | undefined;
    tooltipRef?: react.ForwardedRef<unknown> | undefined;
}>) => react.JSX.Element;
declare const CoderWorkspacesCardExtraActionsButton: ({ menuProps, buttonRef, toolTipProps, tooltipRef, children, className, onClick: outerOnClick, onClose: outerOnClose, tooltipText, ...delegatedButtonProps }: Readonly<Omit<react.ButtonHTMLAttributes<HTMLButtonElement>, "id" | "aria-controls"> & {
    onClose?: ((event: {}, reason: "backdropClick" | "escapeKeyDown") => void) | undefined;
    buttonRef?: react.ForwardedRef<HTMLButtonElement> | undefined;
    menuProps?: Readonly<Omit<_material_ui_core.MenuProps, "id" | "open" | "children" | "onClose" | "anchorEl" | "MenuListProps" | "getContentAnchorEl"> & {
        MenuListProps: Omit<_material_ui_core.MenuListProps, "aria-describedby" | "aria-labelledby">;
    }> | undefined;
    toolTipProps?: Omit<_material_ui_core.TooltipProps, "title" | "children"> | undefined;
    tooltipText?: string | undefined;
    tooltipRef?: react.ForwardedRef<unknown> | undefined;
}>) => react.JSX.Element;
declare const CoderWorkspacesCardHeaderRow: ({ actions, headerLevel, className, headerClassName, hgroupClassName, subheaderClassName, activeRepoFilteringText, headerText, ...delegatedProps }: Readonly<Omit<react.HTMLAttributes<HTMLDivElement>, "children"> & Partial<Record<"headerClassName" | "hgroupClassName" | "subheaderClassName", string>> & {
    headerText?: string | undefined;
    headerLevel?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | undefined;
    actions?: react.ReactNode;
    fullBleedLayout?: boolean | undefined;
    activeRepoFilteringText?: react.ReactNode;
}>) => react.JSX.Element;
declare const CoderWorkspacesCardRoot: typeof Root;
declare const CoderWorkspacesCardSearchBox: ({ className, labelWrapperClassName, searchInputClassName, clearButtonClassName, searchInputRef, clearButtonRef, ...delegatedProps }: Readonly<Omit<react.FieldsetHTMLAttributes<HTMLFieldSetElement>, "children" | "aria-labelledby"> & Partial<Record<"labelWrapperClassName" | "clearButtonClassName" | "searchInputClassName", string>> & {
    searchInputRef?: react.ForwardedRef<HTMLInputElement> | undefined;
    clearButtonRef?: react.ForwardedRef<HTMLButtonElement> | undefined;
}>) => react.JSX.Element;
declare const CoderWorkspacesCardWorkspacesList: ({ renderListItem, emptyState, className, listClassName, ordered, fullBleedLayout, ...delegatedProps }: Readonly<Omit<react.HTMLAttributes<HTMLDivElement>, "children"> & {
    emptyState?: react.ReactNode;
    ordered?: boolean | undefined;
    listClassName?: string | undefined;
    fullBleedLayout?: boolean | undefined;
    renderListItem?: ((input: Readonly<{
        workspace: Workspace;
        index: number;
        workspaces: readonly Workspace[];
    }>) => react.ReactNode) | undefined;
}>) => react.JSX.Element;
declare const CoderWorkspacesCardWorkspacesListIcon: ({ src, workspaceName, className, imageClassName, imageRef, ...delegatedProps }: Readonly<Omit<react.HTMLAttributes<HTMLDivElement>, "children" | "aria-hidden"> & {
    src: string;
    workspaceName: string;
    imageClassName?: string | undefined;
    imageRef?: react.ForwardedRef<HTMLImageElement> | undefined;
}>) => react.JSX.Element;
declare const CoderWorkspacesCardWorkspacesListItem: ({ workspace, className, listFlexRowClassName, linkClassName, onlineStatusContainerClassName, onlineStatusLightClassName, buttonClassName, onClick: outerOnClick, onAuxClick: outerOnAuxClick, onKeyDown: outerOnKeyDown, ...delegatedProps }: Readonly<Omit<react.LiHTMLAttributes<HTMLLIElement>, "children"> & Partial<Record<"buttonClassName" | "linkClassName" | "listFlexRowClassName" | "onlineStatusContainerClassName" | "onlineStatusLightClassName", string>> & {
    workspace: Workspace;
}>) => react.JSX.Element;
declare const CoderWorkspacesReminderAccordion: typeof ReminderAccordion;

export { ACLAvailable, APIKey, APIKeyScope, APIKeyScopes, APIKeyWithOwner, AccessURLReport, AddLicenseRequest, AgentStatsReportResponse, AgentSubsystem, AgentSubsystems, AppHostResponse, AppearanceConfig, ArchiveTemplateVersionsRequest, ArchiveTemplateVersionsResponse, AssignableRoles, AuditAction, AuditActions, AuditDiff, AuditDiffField, AuditLog, AuditLogResponse, AuditLogsRequest, AuthMethod, AuthMethods, AuthorizationCheck, AuthorizationObject, AuthorizationRequest, AuthorizationResponse, AutomaticUpdates, AutomaticUpdateses, AvailableExperiments, BannerConfig, BaseReport, BuildInfoResponse, BuildReason, BuildReasons, CODER_QUERY_KEY_PREFIX, CoderAppConfig, CoderErrorBoundary, CoderProvider, CoderWorkspacesCard, CoderWorkspacesCardCreateWorkspacesLink, CoderWorkspacesCardExtraActionsButton, CoderWorkspacesCardHeaderRow, CoderWorkspacesCardRoot, CoderWorkspacesCardSearchBox, CoderWorkspacesCardWorkspacesList, CoderWorkspacesCardWorkspacesListIcon, CoderWorkspacesCardWorkspacesListItem, CoderWorkspacesReminderAccordion, ConnectionLatency, ConvertLoginRequest, CreateFirstUserRequest, CreateFirstUserResponse, CreateFirstUserTrialInfo, CreateGroupRequest, CreateOrganizationRequest, CreateTemplateRequest, CreateTemplateVersionDryRunRequest, CreateTemplateVersionRequest, CreateTestAuditLogRequest, CreateTokenRequest, CreateUserRequest, CreateWorkspaceBuildRequest, CreateWorkspaceProxyRequest, CreateWorkspaceRequest, DAUEntry, DAURequest, DAUsResponse, DERP, DERPConfig, DERPHealthReport, DERPNodeReport, DERPRegion, DERPRegionReport, DERPServerConfig, DangerousConfig, DatabaseReport, DeleteWorkspaceAgentPortShareRequest, DeploymentConfig, DeploymentStats, DeploymentValues, DisplayApp, DisplayApps, EnhancedExternalAuthProvider, EnhancedExternalAuthProviders, Entitlement, Entitlements, Experiment, Experiments, ExternalAuth, ExternalAuthAppInstallation, ExternalAuthConfig, ExternalAuthDevice, ExternalAuthDeviceExchange, ExternalAuthLink, ExternalAuthLinkProvider, ExternalAuthUser, Feature, FeatureName, FeatureNames, GenerateAPIKeyResponse, GetUsersResponse, GitSSHKey, Group, GroupSource, GroupSources, HealthCode, HealthCodes, HealthMessage, HealthSection, HealthSections, HealthSettings, HealthSeverity, HealthSeveritys, Healthcheck, HealthcheckConfig, HealthcheckReport, InsightsReportInterval, InsightsReportIntervals, IssueReconnectingPTYSignedTokenRequest, IssueReconnectingPTYSignedTokenResponse, JFrogXrayScan, JobErrorCode, JobErrorCodes, License, LinkConfig, ListUserExternalAuthResponse, LogLevel, LogLevels, LogSource, LogSources, LoggingConfig, LoginType, LoginTypes, LoginWithPasswordRequest, LoginWithPasswordResponse, MinimalUser, OAuth2AppEndpoints, OAuth2Config, OAuth2GithubConfig, OAuth2ProviderApp, OAuth2ProviderAppFilter, OAuth2ProviderAppSecret, OAuth2ProviderAppSecretFull, OAuth2ProviderGrantType, OAuth2ProviderGrantTypes, OAuth2ProviderResponseType, OAuth2ProviderResponseTypes, OAuthConversionResponse, OIDCAuthMethod, OIDCConfig, Organization, OrganizationMember, Pagination, PatchGroupRequest, PatchTemplateVersionRequest, PatchWorkspaceProxy, Permission, PostOAuth2ProviderAppRequest, PostgresAuth, PostgresAuths, PprofConfig, PrometheusConfig, ProvisionerConfig, ProvisionerDaemon, ProvisionerDaemonsReport, ProvisionerDaemonsReportItem, ProvisionerJob, ProvisionerJobLog, ProvisionerJobStatus, ProvisionerJobStatuses, ProvisionerLogLevel, ProvisionerLogLevels, ProvisionerStorageMethod, ProvisionerStorageMethods, ProvisionerType, ProvisionerTypes, ProxyHealthReport, ProxyHealthStatus, ProxyHealthStatuses, PutExtendWorkspaceRequest, PutOAuth2ProviderAppRequest, RBACAction, RBACActions, RBACResource, RBACResources, RateLimitConfig, ReducedUser, Region, RegionTypes, RegionsResponse, Replica, ResolveAutostartResponse, ResourceType, ResourceTypes, Response, Role, SSHConfig, SSHConfigResponse, STUNReport, SerpentAnnotations, SerpentGroup, SerpentOption, SerpentOptionSet, SerpentValueSource, SerpentValueSources, ServerSentEvent, ServerSentEventType, ServerSentEventTypes, ServiceBannerConfig, SessionCountDeploymentStats, SessionLifetime, SlimRole, SupportConfig, SwaggerConfig, TLSConfig, TelemetryConfig, Template, TemplateACL, TemplateAppUsage, TemplateAppsType, TemplateAppsTypes, TemplateAutostartRequirement, TemplateAutostopRequirement, TemplateBuildTimeStats, TemplateExample, TemplateGroup, TemplateInsightsIntervalReport, TemplateInsightsReport, TemplateInsightsRequest, TemplateInsightsResponse, TemplateInsightsSection, TemplateInsightsSections, TemplateParameterUsage, TemplateParameterValue, TemplateRole, TemplateRoles, TemplateUser, TemplateVersion, TemplateVersionExternalAuth, TemplateVersionParameter, TemplateVersionParameterOption, TemplateVersionVariable, TemplateVersionWarning, TemplateVersionWarnings, TemplateVersionsByTemplateRequest, TokenConfig, TokensFilter, TraceConfig, TransitionStats, UpdateActiveTemplateVersion, UpdateAppearanceConfig, UpdateCheckResponse, UpdateHealthSettings, UpdateOrganizationRequest, UpdateRoles, UpdateTemplateACL, UpdateTemplateMeta, UpdateUserAppearanceSettingsRequest, UpdateUserPasswordRequest, UpdateUserProfileRequest, UpdateUserQuietHoursScheduleRequest, UpdateWorkspaceAutomaticUpdatesRequest, UpdateWorkspaceAutostartRequest, UpdateWorkspaceDormancy, UpdateWorkspaceProxyResponse, UpdateWorkspaceRequest, UpdateWorkspaceTTLRequest, UploadResponse, UpsertWorkspaceAgentPortShareRequest, User, UserActivity, UserActivityInsightsReport, UserActivityInsightsRequest, UserActivityInsightsResponse, UserLatency, UserLatencyInsightsReport, UserLatencyInsightsRequest, UserLatencyInsightsResponse, UserLoginType, UserParameter, UserQuietHoursScheduleConfig, UserQuietHoursScheduleResponse, UserRoles, UserStatus, UserStatuses, UsersRequest, ValidationError, ValidationMonotonicOrder, ValidationMonotonicOrders, VariableValue, WebsocketReport, Workspace, WorkspaceAgent, WorkspaceAgentHealth, WorkspaceAgentLifecycle, WorkspaceAgentLifecycles, WorkspaceAgentListeningPort, WorkspaceAgentListeningPortsResponse, WorkspaceAgentLog, WorkspaceAgentLogSource, WorkspaceAgentMetadata, WorkspaceAgentMetadataDescription, WorkspaceAgentMetadataResult, WorkspaceAgentPortShare, WorkspaceAgentPortShareLevel, WorkspaceAgentPortShareLevels, WorkspaceAgentPortShareProtocol, WorkspaceAgentPortShareProtocols, WorkspaceAgentPortShares, WorkspaceAgentScript, WorkspaceAgentStartupScriptBehavior, WorkspaceAgentStartupScriptBehaviors, WorkspaceAgentStatus, WorkspaceAgentStatuses, WorkspaceApp, WorkspaceAppHealth, WorkspaceAppHealths, WorkspaceAppSharingLevel, WorkspaceAppSharingLevels, WorkspaceBuild, WorkspaceBuildParameter, WorkspaceBuildsRequest, WorkspaceConnectionLatencyMS, WorkspaceDeploymentStats, WorkspaceFilter, WorkspaceHealth, WorkspaceOptions, WorkspaceProxy, WorkspaceProxyBuildInfo, WorkspaceProxyReport, WorkspaceProxyStatus, WorkspaceQuota, WorkspaceResource, WorkspaceResourceMetadata, WorkspaceStatus, WorkspaceStatuses, WorkspaceTransition, WorkspaceTransitions, WorkspacesRequest, WorkspacesResponse, coderPlugin, entitlements, experiments, useCoderApi, useEndUserCoderAuth as useCoderAuth, useCoderQuery, useCoderWorkspacesConfig, useWorkspacesCardContext };
