export { F as FallbackEnv, R as RuleId, f as SEATBELT_DISABLE, d as SEATBELT_FILE, S as SEATBELT_FILE_NAME, a as SEATBELT_FROZEN, b as SEATBELT_INCREASE, c as SEATBELT_KEEP, e as SEATBELT_PWD, i as SEATBELT_ROOT, g as SEATBELT_THREADSAFE, h as SEATBELT_VERBOSE, l as SeatbeltArgs, j as SeatbeltConfig, k as SeatbeltConfigWithPwd, m as SeatbeltEnv, u as SeatbeltFile, t as SeatbeltFileJson, s as SourceFileName, q as formatFilename, r as formatRuleId, o as logStderr, n as logStdout, p as padVarName } from './SeatbeltConfig-Cd9u6ElU.js';

/** Uses posix open(2) O_EXCL to implement a multi-process mutual exclusion lock. */
declare class FileLock {
    readonly filename: string;
    private fd;
    constructor(filename: string);
    tryLock(): boolean;
    waitLock(timeoutMs: number): void;
    isLocked(): boolean;
    unlock(): void;
    assertNotLocked(): void;
}

declare const SeatbeltConfigSchema: {
    description: string;
    type: "object";
    properties: {
        seatbeltFile: {
            description: string;
            type: "string";
        };
        keepRules: {
            description: string;
            anyOf: ({
                type: "array";
                items: {
                    type: "string";
                };
                const?: undefined;
            } | {
                const: string;
                type: "string";
                items?: undefined;
            })[];
        };
        allowIncreaseRules: {
            description: string;
            anyOf: ({
                type: "array";
                items: {
                    type: "string";
                };
                const?: undefined;
            } | {
                const: string;
                type: "string";
                items?: undefined;
            })[];
        };
        frozen: {
            description: string;
            type: "boolean";
        };
        disable: {
            description: string;
            type: "boolean";
        };
        threadsafe: {
            description: string;
            type: "boolean";
        };
        verbose: {
            description: string;
            anyOf: ({
                enum: (string | boolean)[];
                type?: undefined;
            } | {
                type: "object";
                enum?: undefined;
            })[];
        };
        root: {
            description: string;
            type: "string";
        };
    };
    $schema: string;
};

export { FileLock, SeatbeltConfigSchema };
