export declare enum FileMode {
    ALL = 7,
    NONE = 0,
    READ = 4,
    WRITE = 2,
    EXEC = 1
}
export type PermissionsValue = {
    owner?: number;
    group?: number;
    other?: number;
    directory?: boolean;
    /**
     * Preserve the Unix sticky bit (01000), including on shared directories.
     * Unix-local and Docker snapshot restore reapply this flag to existing directories,
     * even if execution removed it; other restored permission bits are unchanged.
     */
    sticky?: boolean;
};
type NormalizedPermissions = Required<Omit<PermissionsValue, 'sticky'>> & Pick<PermissionsValue, 'sticky'>;
export type PermissionsInit = PermissionsValue | string | number | Permissions;
export declare const DEFAULT_SANDBOX_ENTRY_PERMISSIONS: NormalizedPermissions;
export declare function permissionsForSandboxEntry(permissions?: PermissionsInit): Permissions;
export declare class Permissions {
    readonly owner: number;
    readonly group: number;
    readonly other: number;
    readonly directory: boolean;
    readonly sticky: boolean;
    constructor(init?: PermissionsInit);
    static fromMode(mode: number): Permissions;
    static fromString(value: string): Permissions;
    toMode(): number;
    normalized(): NormalizedPermissions;
    toString(): string;
}
export declare function normalizePermissions(permissions: PermissionsInit): NormalizedPermissions;
export {};
