import { PermissionRequirements, MissingPermissions } from './runtime'; import { External, Fetch } from '@forge/manifest'; declare const RESOURCE_TYPES: readonly ["fonts", "styles", "frames", "images", "media", "scripts"]; export declare type ResourceType = (typeof RESOURCE_TYPES)[number]; declare const FETCH_TYPES: readonly ["backend", "client"]; export declare type FetchType = (typeof FETCH_TYPES)[number]; export declare type ValidatedArrayField = string[] | External[ResourceType] | Fetch[FetchType]; export declare function extractUrlString(url: string | { address: string; } | { remote: string; }): string; export type { PermissionRequirements }; export type { MissingPermissions }; export interface PermissionResult { granted: boolean; missing?: MissingPermissions; } export declare const hasPermission: (requirements: Partial) => PermissionResult; export declare const hasScope: (scope: string) => boolean; export declare const canFetchFrom: (type: FetchType, url: string) => boolean; export declare const canLoadResource: (type: Exclude, url: string) => boolean; export declare const permissions: { hasPermission: (requirements: Partial) => PermissionResult; hasScope: (scope: string) => boolean; canFetchFrom: (type: FetchType, url: string) => boolean; canLoadResource: (type: Exclude, url: string) => boolean; }; //# sourceMappingURL=permissions.d.ts.map