import type { Schema } from '@markdoc/markdoc';
import type { PageStaticData, REDOCLY_ROUTE_RBAC, REDOCLY_TEAMS_RBAC, RbacScopeItems } from '@redocly/config';
import type { PluginDefaultOptions, PageRouteDetails, LifecycleContext } from '../../types';
import { LINK_ORIGINAL_ATTR_NAME } from '../../constants/common';
export type RoutesInfoActions = {
    outdir: string;
    getRouteByFsPath: (relativePath: string) => PageRouteDetails | undefined;
    getRouteBySlug: (slug: string) => PageRouteDetails | undefined;
    getAllRoutesForLocale: (locale?: string) => PageRouteDetails[];
    buildRevision: number;
};
export type MarkdocResolveContext = {
    context: LifecycleContext;
    actions: PluginDefaultOptions & RoutesInfoActions;
};
export type MarkdocDeps = {
    routeSlugs?: string[];
    sharedDataIds?: string[];
};
export interface MdPageStaticData extends PageStaticData {
    ast: string;
    frontmatter: Record<string, unknown>;
    editPage?: {
        to: string;
    };
    [REDOCLY_TEAMS_RBAC]?: RbacScopeItems;
    [REDOCLY_ROUTE_RBAC]?: {
        slug?: string;
        fsPath?: string;
    };
}
export type CustomMarkdocTag = {
    schema: Schema & {
        dynamicComponentLib: string;
    };
    tagName: string;
};
export type WithOriginalAttr<T, P = string> = T & {
    [K in `${typeof LINK_ORIGINAL_ATTR_NAME}:${string}`]?: P | null;
};
//# sourceMappingURL=markdown.d.ts.map