import { type KsFileSaverParams, type KsAppClientDataNoMeta, type KnapsackPattern, type KnapsackMeta, type RendererId, type GeneralDiscovery } from '@knapsack/types';
import { type SslCert } from '../lib/https-cert';
import type { KnapsackDataStoreSaveBody } from '../types/endpoints';
import { type KnapsackBrain } from '../types/brain';
import { type KnapsackConfig } from '../types/knapsack-config';
import { type MissingFileVerbosityOption } from '../types/misc';
import type { Renderer } from '../domains/patterns/renderers/renderer-base';
export declare function getMeta({ config }: {
    config: KnapsackConfig;
}): KnapsackMeta;
/**
 * Gets the SSL cert to use for the dev server
 * If `cert` and `key` are provided in the config, they will be used
 * If not, we'll auto-generate an SSL cert
 * If auto-generating, we'll use mkcert to generate the cert
 * @see {@link getAutoGeneratedSSLCert}
 */
export declare function getHttpsCert(devServer: KnapsackConfig['devServer']): Promise<SslCert | null>;
type KsMetaFile = {
    demoUrls: {
        patternId: string;
        templateId: string;
        demoId: string;
        assetSetId?: string;
        width?: number;
        height?: number;
        url: string;
    }[];
};
export declare function writeKsMetaFile({ allPatterns, allAssetSetIds, distDir, demosById, }: {
    allPatterns: KnapsackPattern[];
    allAssetSetIds: string[];
    distDir: string;
    demosById: KsAppClientDataNoMeta['db']['demos']['byId'];
}): Promise<void>;
export declare function getKsMeta(): KsMetaFile;
export declare function writeTemplateMeta({ templateRenderers, allPatterns, allAssetSetIds, distDir, demosById, }: {
    templateRenderers: Renderer<RendererId, any>[];
    allPatterns: KnapsackPattern[];
    allAssetSetIds: string[];
    distDir: string;
    demosById: KsAppClientDataNoMeta['db']['demos']['byId'];
}): Promise<{
    metaDir: string;
}>;
export declare function initAll({ ksBrain, missingFileVerbosity: missingFileVerbosityOption, isStartCmd, }: {
    ksBrain: KnapsackBrain;
    isStartCmd?: boolean;
    missingFileVerbosity?: MissingFileVerbosityOption;
}): Promise<{
    discovery: GeneralDiscovery;
}>;
export declare function hydrateAll({ ksBrain, }: {
    ksBrain: KnapsackBrain;
}): Promise<{
    discovery: GeneralDiscovery;
    appClientDataNoMeta: KsAppClientDataNoMeta;
}>;
export declare function getDataStore(ksBrain: KnapsackBrain): Promise<KsAppClientDataNoMeta>;
export declare function savePrepNewDataStore({ ksBrain, state, }: KnapsackDataStoreSaveBody & {
    ksBrain: KnapsackBrain;
}): Promise<KsFileSaverParams>;
export declare function writeAppClientData({ appClientData, ksBrain, }: {
    appClientData: KsAppClientDataNoMeta;
    ksBrain: KnapsackBrain;
}): Promise<void>;
/**
 * This will read all the data, then run it through the formatters that would be used on PRs or local changes, then write those files back out.
 */
export declare function ensureDataDirFilesFormatted({ ksBrain, }: {
    ksBrain: KnapsackBrain;
}): Promise<void>;
export declare function build({ config, ksBrain, skipDiscovery, }: {
    config: KnapsackConfig;
    ksBrain: KnapsackBrain;
    skipDiscovery?: boolean;
}): Promise<void>;
export declare function testPatternRenders(allPatterns: KnapsackPattern[], ksBrain: KnapsackBrain): Promise<void>;
export {};
//# sourceMappingURL=commands.d.ts.map