/// <reference types="node" />
export * as schemas from './schemas';
/**
 * Ensures the Vortex user is logged in to their Nexus account.
 * @returns A {@link !Promise Promise} which when resolved, indicates the user is logged into their Nexus account.
 * @see {@link https://toebeann.github.io/npc-vortex-api/stable/?page=vortex.Function.ensureLoggedIn}
 */
export declare const ensureLoggedIn: (options?: {
    signal?: AbortSignal;
}) => Promise<void>;
/**
 * Retrieves details about the currently active Vortex profile.
 * @returns A {@link !Promise Promise} which when resolved, passes the currently active Vortex profile to its {@link !Promise.then then} handler(s),
 * or `undefined` if not found.
 * @see {@link https://toebeann.github.io/npc-vortex-api/stable/?page=vortex.Function.getActiveProfile}
 */
export declare const getActiveProfile: (options?: {
    signal?: AbortSignal;
}) => Promise<{
    pendingRemove?: boolean | undefined;
    features?: Record<string, any> | undefined;
    gameId: string;
    id: string;
    name: string;
    modState: Record<string, {
        enabled: boolean;
        enabledTime: number;
    }>;
    lastActivated: number;
}>;
/**
 * Retrieves the stored static details about the currently selected game mode.
 * @remarks If there is no currently selected game mode, the result will have the fallback id `__placeholder`.
 * @returns A {@link !Promise Promise} which when resolved, passes the currently selected game mode to its {@link !Promise.then then} handler(s).
 * @see {@link https://toebeann.github.io/npc-vortex-api/stable/?page=vortex.Function.getCurrentGame}
 */
export declare const getCurrentGame: (options?: {
    signal?: AbortSignal;
}) => Promise<{
    shortName?: string | undefined;
    logo?: string | undefined;
    parameters?: string[] | undefined;
    environment?: Record<string, string> | undefined;
    shell?: boolean | undefined;
    extensionPath?: string | undefined;
    imageURL?: string | undefined;
    supportedTools?: {
        shortName?: string | undefined;
        shell?: boolean | undefined;
        detach?: boolean | undefined;
        onStart?: "hide" | "hide_recover" | "close" | undefined;
        exclusive?: boolean | undefined;
        defaultPrimary?: boolean | undefined;
        id: string;
        name: string;
        logo: string;
        executable: string;
        parameters: string[];
        environment: Record<string, string>;
    }[] | undefined;
    details?: Record<string, any> | undefined;
    contributed?: string | undefined;
    final?: boolean | undefined;
    id: string;
    name: string;
    executable: string;
    requiredFiles: string[];
}>;
/**
 * Retrieves the details of installed mods for the currently selected game mode.
 * @returns A {@link !Promise Promise} when when resolved, passes mod details for the currently selected game mode to its {@link !Promise.then then} handler(s)
 * as an object where each mod is indexed by its id, or an empty object if no game mode is currently selected.
 * @see {@link https://toebeann.github.io/npc-vortex-api/stable/?page=vortex.Function.getMods}
 */
export declare const getMods: (options?: {
    signal?: AbortSignal;
}) => Promise<Record<string, {
    enabled: boolean;
    enabledTime: number;
}> & Record<string, {
    archiveId?: string | undefined;
    attributes?: Record<string, any> | undefined;
    rules?: {
        comment?: string | undefined;
        fileList?: {
            md5?: string | undefined;
            xxh64?: string | undefined;
            path: string;
        }[] | undefined;
        installerChoices?: any;
        downloadHint?: {
            instructions?: string | undefined;
            url?: string | undefined;
            mode: "direct" | "browse" | "manual";
        } | undefined;
        extra?: Record<string, any> | undefined;
        ignored?: boolean | undefined;
        type: "before" | "after" | "requires" | "conflicts" | "recommends" | "provides";
        reference: {
            gameId?: string | undefined;
            id?: string | undefined;
            description?: string | undefined;
            fileExpression?: string | undefined;
            instructions?: string | undefined;
            fileSize?: number | undefined;
            fileMD5?: string | undefined;
            versionMatch?: string | undefined;
            logicalFileName?: string | undefined;
            idHint?: string | undefined;
            md5Hint?: string | undefined;
            tag?: string | undefined;
            archiveId?: string | undefined;
            repo?: ({
                campaign?: string | undefined;
                repository: string;
            } & {
                gameId?: string | undefined;
                modId?: string | undefined;
                fileId: string;
            }) | undefined;
        };
    }[] | undefined;
    enabledINITweaks?: string[] | undefined;
    fileOverrides?: string[] | undefined;
    type: string;
    id: string;
    state: "downloading" | "downloaded" | "installing" | "installed";
    installationPath: string;
}>>;
//# sourceMappingURL=index.d.ts.map