import { AuthCheckContextLoaderKeys } from '../../domain/loaders.js';
import { DashboardContext, MaybeUserContext } from '../../domain/context.js';
import { DashboardNotFoundError, DashboardsNotEnabledError, ServerNoAccessError, ServerNoSessionError, ServerNotEnoughPermissionsError, WorkspaceNotEnoughPermissionsError, WorkspacePlanNoFeatureAccessError } from '../../domain/authErrors.js';
import { AuthPolicy } from '../../domain/policies.js';
type PolicyLoaderKeys = typeof AuthCheckContextLoaderKeys.getEnv | typeof AuthCheckContextLoaderKeys.getServerRole | typeof AuthCheckContextLoaderKeys.getAdminOverrideEnabled | typeof AuthCheckContextLoaderKeys.getDashboard | typeof AuthCheckContextLoaderKeys.getWorkspaceRole | typeof AuthCheckContextLoaderKeys.getWorkspacePlan;
type PolicyArgs = MaybeUserContext & DashboardContext;
type PolicyErrors = InstanceType<typeof DashboardsNotEnabledError | typeof DashboardNotFoundError | typeof ServerNoSessionError | typeof ServerNoAccessError | typeof ServerNotEnoughPermissionsError | typeof WorkspaceNotEnoughPermissionsError | typeof WorkspacePlanNoFeatureAccessError>;
export declare const canReadDashboardPolicy: AuthPolicy<PolicyLoaderKeys, PolicyArgs, PolicyErrors>;
export {};
//# sourceMappingURL=canRead.d.ts.map