import { type Describe } from 'superstruct';
import { z } from 'zod/v4-mini';
import type { KnapsackAssetSetsData } from './asset-sets';
import type { TokenSrcGroup } from './design-tokens-types';
import type { MetaState } from './meta';
import type { KnapsackNavsConfig } from './nav';
import type { KsFiles } from './files';
import type { BlockCollection, BlockConfig } from './blocks';
import type { KnapsackCustomPagesData } from './custom-pages';
import type { Demo, PatternsState } from './patterns';
import { type UiConfig } from '../ui-config';
import { type PagesSettings } from './page';
import { type BlocksSettings } from './blocks.settings';
import { type DesignSrcFile } from '../design-src.types';
import type { RendererTemplateConfig, TemplateInfoId, RendererId } from '../renderers';
import type { PageTab } from './tabs';
export * from './asset-sets';
export * from './blocks';
export * from './custom-pages';
export * from './design-tokens';
export * from './design-tokens-types';
export * from './nav';
export * from './files';
export * from './meta';
export * from './page';
export * from './patterns';
export * from './tabs';
export { PageHeaderSizes } from './page.header';
export type { PageHeaderSettings } from './page.header';
export interface KsAppClientData {
    patternsState: PatternsState;
    customPagesState: KnapsackCustomPagesData;
    assetSetsState: KnapsackAssetSetsData;
    navsState: KnapsackNavsConfig;
    tokensSrc: TokenSrcGroup;
    metaState?: MetaState;
    filesState: KsFiles;
    db: {
        blocks: {
            byId: Record<string, BlockConfig>;
            settings: BlocksSettings;
        };
        demos: {
            byId: Record<string, Demo>;
            settings: Record<string, never>;
        };
        tabs: {
            byId: Record<string, PageTab>;
            settings: Record<string, never>;
        };
        blockCollections: {
            byId: Record<string, BlockCollection>;
            settings: Record<string, never>;
        };
        /**
         * @see {@link createTemplateInfoId} for getting the key
         */
        templatesConfig?: Record<TemplateInfoId, RendererTemplateConfig>;
        settings: {
            title?: string;
            hideTitleInNavigation?: boolean;
            logoUrl?: string;
            favicon?: `https://${string}`;
            theme?: UiConfig;
            pages?: PagesSettings;
            patterns?: {
                hideStatusSetsOnPages?: boolean;
            };
            codeSrcs?: {
                enableInSlots?: boolean;
            };
            designSrcs?: {
                files?: DesignSrcFile[];
                hideOpenInSource?: boolean;
            };
            tokens?: {
                theming?: {
                    /** Which template languages theming controls will show up for next to the components preview stage. */
                    enabledRendererIds?: string[];
                    /** Whether to hide the theme selector on the template stage. */
                    hideThemeSelector?: boolean;
                    /** Collections to hide from the theme selector. */
                    hiddenCollections?: string[];
                };
            };
            prototyping?: {
                patternId: string;
                disabledRendererIds?: RendererId[];
            };
        };
    };
}
export type KsAppClientDataNoMeta = Omit<KsAppClientData, 'metaState'>;
export type KsAppClientDataAndMeta = Required<KsAppClientData>;
export declare const emptyAppClientData: KsAppClientDataNoMeta;
export declare function isKsAppClientDataNoMeta(data: unknown): data is KsAppClientDataNoMeta;
export declare const KsAppClientDataNoMetaStruct: import("superstruct").Struct<KsAppClientDataNoMeta, null>;
export declare const KsAppClientDataNoMetaZod: z.ZodMiniCustom<KsAppClientDataNoMeta, KsAppClientDataNoMeta>;
export declare function isKsAppClientDataAndMeta(data: unknown): data is KsAppClientDataAndMeta;
export declare const KsAppClientDataAndMetaStruct: import("superstruct").Struct<Required<KsAppClientData>, null>;
export declare const KsMetaStateStruct: Describe<KsAppClientData['metaState']>;
export declare const isKsMetaState: (value: unknown) => value is MetaState;
//# sourceMappingURL=index.d.ts.map