import type { PayloadAction } from '@reduxjs/toolkit';
import type { ProjectConfig, SiteConfig } from 'myst-config';
import type { BuildWarning, ExternalLinkResult, ValidatedRawConfig } from './types.js';
import type { LocalProject } from '../project/types.js';
export declare const projects: import("@reduxjs/toolkit").Slice<Record<string, LocalProject>, {
    receive(state: {
        [x: string]: {
            path: string;
            file: string;
            index: string;
            implicitIndex?: boolean | undefined;
            bibliography: string[];
            pages: ({
                title: string;
                level: import("../project/types.js").PageLevels;
            } | {
                file: string;
                slug: string;
                level: import("../project/types.js").PageLevels;
                implicit?: boolean | undefined;
            })[];
        };
    }, action: PayloadAction<LocalProject>): void;
}, "projects", "projects", import("@reduxjs/toolkit").SliceSelectors<Record<string, LocalProject>>>;
export declare const affiliations: import("@reduxjs/toolkit").Slice<Record<string, string>, {
    receive(state: {
        [x: string]: string;
    }, action: PayloadAction<{
        affiliations: {
            id: string;
            text: string;
        }[];
    }>): void;
}, "affiliations", "affiliations", import("@reduxjs/toolkit").SliceSelectors<Record<string, string>>>;
export declare const config: import("@reduxjs/toolkit").Slice<{
    currentProjectPath: string | undefined;
    currentSitePath: string | undefined;
    rawConfigs: Record<string, {
        raw: Record<string, any>;
        validated: ValidatedRawConfig;
    }>;
    projects: Record<string, Record<string, any>>;
    projectParts: Record<string, string[]>;
    fileParts: Record<string, string[]>;
    sites: Record<string, Record<string, any>>;
    filenames: Record<string, string>;
    configExtensions?: string[];
}, {
    receiveCurrentProjectPath(state: {
        currentProjectPath: string | undefined;
        currentSitePath: string | undefined;
        rawConfigs: {
            [x: string]: {
                raw: {
                    [x: string]: any;
                };
                validated: {
                    site?: {
                        [x: string]: any;
                    } | undefined;
                    project?: {
                        [x: string]: any;
                    } | undefined;
                    extend?: string[] | undefined;
                };
            };
        };
        projects: {
            [x: string]: {
                [x: string]: any;
            };
        };
        projectParts: {
            [x: string]: string[];
        };
        fileParts: {
            [x: string]: string[];
        };
        sites: {
            [x: string]: {
                [x: string]: any;
            };
        };
        filenames: {
            [x: string]: string;
        };
        configExtensions?: string[] | undefined;
    }, action: PayloadAction<{
        path: string;
    }>): void;
    receiveCurrentSitePath(state: {
        currentProjectPath: string | undefined;
        currentSitePath: string | undefined;
        rawConfigs: {
            [x: string]: {
                raw: {
                    [x: string]: any;
                };
                validated: {
                    site?: {
                        [x: string]: any;
                    } | undefined;
                    project?: {
                        [x: string]: any;
                    } | undefined;
                    extend?: string[] | undefined;
                };
            };
        };
        projects: {
            [x: string]: {
                [x: string]: any;
            };
        };
        projectParts: {
            [x: string]: string[];
        };
        fileParts: {
            [x: string]: string[];
        };
        sites: {
            [x: string]: {
                [x: string]: any;
            };
        };
        filenames: {
            [x: string]: string;
        };
        configExtensions?: string[] | undefined;
    }, action: PayloadAction<{
        path: string;
    }>): void;
    receiveRawConfig(state: {
        currentProjectPath: string | undefined;
        currentSitePath: string | undefined;
        rawConfigs: {
            [x: string]: {
                raw: {
                    [x: string]: any;
                };
                validated: {
                    site?: {
                        [x: string]: any;
                    } | undefined;
                    project?: {
                        [x: string]: any;
                    } | undefined;
                    extend?: string[] | undefined;
                };
            };
        };
        projects: {
            [x: string]: {
                [x: string]: any;
            };
        };
        projectParts: {
            [x: string]: string[];
        };
        fileParts: {
            [x: string]: string[];
        };
        sites: {
            [x: string]: {
                [x: string]: any;
            };
        };
        filenames: {
            [x: string]: string;
        };
        configExtensions?: string[] | undefined;
    }, action: PayloadAction<{
        raw: Record<string, any>;
        validated: ValidatedRawConfig;
        path: string;
        file: string;
    }>): void;
    receiveSiteConfig(state: {
        currentProjectPath: string | undefined;
        currentSitePath: string | undefined;
        rawConfigs: {
            [x: string]: {
                raw: {
                    [x: string]: any;
                };
                validated: {
                    site?: {
                        [x: string]: any;
                    } | undefined;
                    project?: {
                        [x: string]: any;
                    } | undefined;
                    extend?: string[] | undefined;
                };
            };
        };
        projects: {
            [x: string]: {
                [x: string]: any;
            };
        };
        projectParts: {
            [x: string]: string[];
        };
        fileParts: {
            [x: string]: string[];
        };
        sites: {
            [x: string]: {
                [x: string]: any;
            };
        };
        filenames: {
            [x: string]: string;
        };
        configExtensions?: string[] | undefined;
    }, action: PayloadAction<SiteConfig & {
        path: string;
    }>): void;
    receiveProjectConfig(state: {
        currentProjectPath: string | undefined;
        currentSitePath: string | undefined;
        rawConfigs: {
            [x: string]: {
                raw: {
                    [x: string]: any;
                };
                validated: {
                    site?: {
                        [x: string]: any;
                    } | undefined;
                    project?: {
                        [x: string]: any;
                    } | undefined;
                    extend?: string[] | undefined;
                };
            };
        };
        projects: {
            [x: string]: {
                [x: string]: any;
            };
        };
        projectParts: {
            [x: string]: string[];
        };
        fileParts: {
            [x: string]: string[];
        };
        sites: {
            [x: string]: {
                [x: string]: any;
            };
        };
        filenames: {
            [x: string]: string;
        };
        configExtensions?: string[] | undefined;
    }, action: PayloadAction<ProjectConfig & {
        path: string;
    }>): void;
    receiveConfigExtension(state: {
        currentProjectPath: string | undefined;
        currentSitePath: string | undefined;
        rawConfigs: {
            [x: string]: {
                raw: {
                    [x: string]: any;
                };
                validated: {
                    site?: {
                        [x: string]: any;
                    } | undefined;
                    project?: {
                        [x: string]: any;
                    } | undefined;
                    extend?: string[] | undefined;
                };
            };
        };
        projects: {
            [x: string]: {
                [x: string]: any;
            };
        };
        projectParts: {
            [x: string]: string[];
        };
        fileParts: {
            [x: string]: string[];
        };
        sites: {
            [x: string]: {
                [x: string]: any;
            };
        };
        filenames: {
            [x: string]: string;
        };
        configExtensions?: string[] | undefined;
    }, action: PayloadAction<{
        file: string;
    }>): void;
    receiveProjectPart(state: {
        currentProjectPath: string | undefined;
        currentSitePath: string | undefined;
        rawConfigs: {
            [x: string]: {
                raw: {
                    [x: string]: any;
                };
                validated: {
                    site?: {
                        [x: string]: any;
                    } | undefined;
                    project?: {
                        [x: string]: any;
                    } | undefined;
                    extend?: string[] | undefined;
                };
            };
        };
        projects: {
            [x: string]: {
                [x: string]: any;
            };
        };
        projectParts: {
            [x: string]: string[];
        };
        fileParts: {
            [x: string]: string[];
        };
        sites: {
            [x: string]: {
                [x: string]: any;
            };
        };
        filenames: {
            [x: string]: string;
        };
        configExtensions?: string[] | undefined;
    }, action: PayloadAction<{
        partFile: string;
        path: string;
    }>): void;
    receiveFilePart(state: {
        currentProjectPath: string | undefined;
        currentSitePath: string | undefined;
        rawConfigs: {
            [x: string]: {
                raw: {
                    [x: string]: any;
                };
                validated: {
                    site?: {
                        [x: string]: any;
                    } | undefined;
                    project?: {
                        [x: string]: any;
                    } | undefined;
                    extend?: string[] | undefined;
                };
            };
        };
        projects: {
            [x: string]: {
                [x: string]: any;
            };
        };
        projectParts: {
            [x: string]: string[];
        };
        fileParts: {
            [x: string]: string[];
        };
        sites: {
            [x: string]: {
                [x: string]: any;
            };
        };
        filenames: {
            [x: string]: string;
        };
        configExtensions?: string[] | undefined;
    }, action: PayloadAction<{
        partFile: string;
        file: string;
    }>): void;
}, "config", "config", import("@reduxjs/toolkit").SliceSelectors<{
    currentProjectPath: string | undefined;
    currentSitePath: string | undefined;
    rawConfigs: Record<string, {
        raw: Record<string, any>;
        validated: ValidatedRawConfig;
    }>;
    projects: Record<string, Record<string, any>>;
    projectParts: Record<string, string[]>;
    fileParts: Record<string, string[]>;
    sites: Record<string, Record<string, any>>;
    filenames: Record<string, string>;
    configExtensions?: string[];
}>>;
type WatchedFile = {
    title?: string | null;
    short_title?: string | null;
    description?: string | null;
    date?: string | null;
    thumbnail?: string | null;
    thumbnailOptimized?: string | null;
    banner?: string | null;
    bannerOptimized?: string | null;
    tags?: string[] | null;
    sha256?: string | null;
    url?: string | null;
    dataUrl?: string | null;
    localDependencies?: string[] | null;
};
export declare const watch: import("@reduxjs/toolkit").Slice<{
    files: Record<string, WatchedFile>;
    reloading: boolean;
    reloadRequested: boolean;
}, {
    markReloading(state: {
        files: {
            [x: string]: {
                title?: (string | null) | undefined;
                short_title?: (string | null) | undefined;
                description?: (string | null) | undefined;
                date?: (string | null) | undefined;
                thumbnail?: (string | null) | undefined;
                thumbnailOptimized?: (string | null) | undefined;
                banner?: (string | null) | undefined;
                bannerOptimized?: (string | null) | undefined;
                tags?: (string[] | null) | undefined;
                sha256?: (string | null) | undefined;
                url?: (string | null) | undefined;
                dataUrl?: (string | null) | undefined;
                localDependencies?: (string[] | null) | undefined;
            };
        };
        reloading: boolean;
        reloadRequested: boolean;
    }, action: PayloadAction<boolean>): void;
    markReloadRequested(state: {
        files: {
            [x: string]: {
                title?: (string | null) | undefined;
                short_title?: (string | null) | undefined;
                description?: (string | null) | undefined;
                date?: (string | null) | undefined;
                thumbnail?: (string | null) | undefined;
                thumbnailOptimized?: (string | null) | undefined;
                banner?: (string | null) | undefined;
                bannerOptimized?: (string | null) | undefined;
                tags?: (string[] | null) | undefined;
                sha256?: (string | null) | undefined;
                url?: (string | null) | undefined;
                dataUrl?: (string | null) | undefined;
                localDependencies?: (string[] | null) | undefined;
            };
        };
        reloading: boolean;
        reloadRequested: boolean;
    }, action: PayloadAction<boolean>): void;
    markFileChanged(state: {
        files: {
            [x: string]: {
                title?: (string | null) | undefined;
                short_title?: (string | null) | undefined;
                description?: (string | null) | undefined;
                date?: (string | null) | undefined;
                thumbnail?: (string | null) | undefined;
                thumbnailOptimized?: (string | null) | undefined;
                banner?: (string | null) | undefined;
                bannerOptimized?: (string | null) | undefined;
                tags?: (string[] | null) | undefined;
                sha256?: (string | null) | undefined;
                url?: (string | null) | undefined;
                dataUrl?: (string | null) | undefined;
                localDependencies?: (string[] | null) | undefined;
            };
        };
        reloading: boolean;
        reloadRequested: boolean;
    }, action: PayloadAction<{
        path: string;
        sha256?: string;
    }>): void;
    addLocalDependency(state: {
        files: {
            [x: string]: {
                title?: (string | null) | undefined;
                short_title?: (string | null) | undefined;
                description?: (string | null) | undefined;
                date?: (string | null) | undefined;
                thumbnail?: (string | null) | undefined;
                thumbnailOptimized?: (string | null) | undefined;
                banner?: (string | null) | undefined;
                bannerOptimized?: (string | null) | undefined;
                tags?: (string[] | null) | undefined;
                sha256?: (string | null) | undefined;
                url?: (string | null) | undefined;
                dataUrl?: (string | null) | undefined;
                localDependencies?: (string[] | null) | undefined;
            };
        };
        reloading: boolean;
        reloadRequested: boolean;
    }, action: PayloadAction<{
        path: string;
        dependency: string;
    }>): void;
    updateFileInfo(state: {
        files: {
            [x: string]: {
                title?: (string | null) | undefined;
                short_title?: (string | null) | undefined;
                description?: (string | null) | undefined;
                date?: (string | null) | undefined;
                thumbnail?: (string | null) | undefined;
                thumbnailOptimized?: (string | null) | undefined;
                banner?: (string | null) | undefined;
                bannerOptimized?: (string | null) | undefined;
                tags?: (string[] | null) | undefined;
                sha256?: (string | null) | undefined;
                url?: (string | null) | undefined;
                dataUrl?: (string | null) | undefined;
                localDependencies?: (string[] | null) | undefined;
            };
        };
        reloading: boolean;
        reloadRequested: boolean;
    }, action: PayloadAction<{
        path: string;
        title?: string | null;
        short_title?: string | null;
        description?: string | null;
        date?: string | null;
        thumbnail?: string | null;
        thumbnailOptimized?: string;
        banner?: string | null;
        bannerOptimized?: string | null;
        tags?: string[] | null;
        sha256?: string;
        url?: string;
        dataUrl?: string;
    }>): void;
}, "watch", "watch", import("@reduxjs/toolkit").SliceSelectors<{
    files: Record<string, WatchedFile>;
    reloading: boolean;
    reloadRequested: boolean;
}>>;
export declare const links: import("@reduxjs/toolkit").Slice<Record<string, ExternalLinkResult>, {
    updateLink(state: {
        [x: string]: {
            url: string;
            ok?: boolean | undefined;
            skipped?: boolean | undefined;
            status?: number | undefined;
            statusText?: string | undefined;
        };
    }, action: PayloadAction<ExternalLinkResult>): void;
}, "links", "links", import("@reduxjs/toolkit").SliceSelectors<Record<string, ExternalLinkResult>>>;
export declare const warnings: import("@reduxjs/toolkit").Slice<Record<string, BuildWarning[]>, {
    addWarning(state: {
        [x: string]: {
            message: string;
            kind: import("./types.js").WarningKind;
            note?: (string | null) | undefined;
            url?: (string | null) | undefined;
            position?: {
                start: {
                    line: number;
                    column: number;
                    offset?: number | undefined;
                };
                end: {
                    line: number;
                    column: number;
                    offset?: number | undefined;
                };
                indent?: number[] | undefined;
            } | null | undefined;
            ruleId?: (string | null) | undefined;
        }[];
    }, action: PayloadAction<{
        file: string;
    } & BuildWarning>): void;
    clearWarnings(state: {
        [x: string]: {
            message: string;
            kind: import("./types.js").WarningKind;
            note?: (string | null) | undefined;
            url?: (string | null) | undefined;
            position?: {
                start: {
                    line: number;
                    column: number;
                    offset?: number | undefined;
                };
                end: {
                    line: number;
                    column: number;
                    offset?: number | undefined;
                };
                indent?: number[] | undefined;
            } | null | undefined;
            ruleId?: (string | null) | undefined;
        }[];
    }, action: PayloadAction<{
        file: string;
    }>): void;
    clearAllWarnings(state: {
        [x: string]: {
            message: string;
            kind: import("./types.js").WarningKind;
            note?: (string | null) | undefined;
            url?: (string | null) | undefined;
            position?: {
                start: {
                    line: number;
                    column: number;
                    offset?: number | undefined;
                };
                end: {
                    line: number;
                    column: number;
                    offset?: number | undefined;
                };
                indent?: number[] | undefined;
            } | null | undefined;
            ruleId?: (string | null) | undefined;
        }[];
    }): void;
}, "warnings", "warnings", import("@reduxjs/toolkit").SliceSelectors<Record<string, BuildWarning[]>>>;
export declare const localReducer: import("redux").Reducer<{
    projects: Record<string, LocalProject>;
    affiliations: Record<string, string>;
    config: {
        currentProjectPath: string | undefined;
        currentSitePath: string | undefined;
        rawConfigs: Record<string, {
            raw: Record<string, any>;
            validated: ValidatedRawConfig;
        }>;
        projects: Record<string, Record<string, any>>;
        projectParts: Record<string, string[]>;
        fileParts: Record<string, string[]>;
        sites: Record<string, Record<string, any>>;
        filenames: Record<string, string>;
        configExtensions?: string[];
    };
    watch: {
        files: Record<string, WatchedFile>;
        reloading: boolean;
        reloadRequested: boolean;
    };
    links: Record<string, ExternalLinkResult>;
    warnings: Record<string, BuildWarning[]>;
}, import("redux").UnknownAction, Partial<{
    projects: Record<string, LocalProject> | undefined;
    affiliations: Record<string, string> | undefined;
    config: {
        currentProjectPath: string | undefined;
        currentSitePath: string | undefined;
        rawConfigs: Record<string, {
            raw: Record<string, any>;
            validated: ValidatedRawConfig;
        }>;
        projects: Record<string, Record<string, any>>;
        projectParts: Record<string, string[]>;
        fileParts: Record<string, string[]>;
        sites: Record<string, Record<string, any>>;
        filenames: Record<string, string>;
        configExtensions?: string[];
    } | undefined;
    watch: {
        files: Record<string, WatchedFile>;
        reloading: boolean;
        reloadRequested: boolean;
    } | undefined;
    links: Record<string, ExternalLinkResult> | undefined;
    warnings: Record<string, BuildWarning[]> | undefined;
}>>;
export declare const rootReducer: import("redux").Reducer<{
    local: {
        projects: Record<string, LocalProject>;
        affiliations: Record<string, string>;
        config: {
            currentProjectPath: string | undefined;
            currentSitePath: string | undefined;
            rawConfigs: Record<string, {
                raw: Record<string, any>;
                validated: ValidatedRawConfig;
            }>;
            projects: Record<string, Record<string, any>>;
            projectParts: Record<string, string[]>;
            fileParts: Record<string, string[]>;
            sites: Record<string, Record<string, any>>;
            filenames: Record<string, string>;
            configExtensions?: string[];
        };
        watch: {
            files: Record<string, WatchedFile>;
            reloading: boolean;
            reloadRequested: boolean;
        };
        links: Record<string, ExternalLinkResult>;
        warnings: Record<string, BuildWarning[]>;
    };
}, import("redux").UnknownAction, Partial<{
    local: {
        projects: Record<string, LocalProject>;
        affiliations: Record<string, string>;
        config: {
            currentProjectPath: string | undefined;
            currentSitePath: string | undefined;
            rawConfigs: Record<string, {
                raw: Record<string, any>;
                validated: ValidatedRawConfig;
            }>;
            projects: Record<string, Record<string, any>>;
            projectParts: Record<string, string[]>;
            fileParts: Record<string, string[]>;
            sites: Record<string, Record<string, any>>;
            filenames: Record<string, string>;
            configExtensions?: string[];
        };
        watch: {
            files: Record<string, WatchedFile>;
            reloading: boolean;
            reloadRequested: boolean;
        };
        links: Record<string, ExternalLinkResult>;
        warnings: Record<string, BuildWarning[]>;
    } | Partial<{
        projects: Record<string, LocalProject> | undefined;
        affiliations: Record<string, string> | undefined;
        config: {
            currentProjectPath: string | undefined;
            currentSitePath: string | undefined;
            rawConfigs: Record<string, {
                raw: Record<string, any>;
                validated: ValidatedRawConfig;
            }>;
            projects: Record<string, Record<string, any>>;
            projectParts: Record<string, string[]>;
            fileParts: Record<string, string[]>;
            sites: Record<string, Record<string, any>>;
            filenames: Record<string, string>;
            configExtensions?: string[];
        } | undefined;
        watch: {
            files: Record<string, WatchedFile>;
            reloading: boolean;
            reloadRequested: boolean;
        } | undefined;
        links: Record<string, ExternalLinkResult> | undefined;
        warnings: Record<string, BuildWarning[]> | undefined;
    }> | undefined;
}>>;
export type RootState = ReturnType<typeof rootReducer>;
export {};
//# sourceMappingURL=reducers.d.ts.map