/// <reference types="node" />
import { CLIError, PrettyPrintableError } from '@oclif/core/lib/errors';
import { ErrorObject } from 'ajv';
import { ShowpadClient } from './showpad-client';
import { ShowpadAppManifestSchemaV2 } from './schemas/manifest';
export declare const createHost: (subdomain: string) => string;
export type FetchFunction = (input: NodeJS.fetch.RequestInfo, init?: RequestInit) => Promise<Response>;
export declare const uuidFlag: import("@oclif/core/lib/interfaces/parser").FlagDefinition<string, import("@oclif/core/lib/interfaces/parser").CustomOptions, {
    multiple: false;
    requiredOrDefaulted: false;
}>;
export declare const ulidFlag: import("@oclif/core/lib/interfaces/parser").FlagDefinition<string, import("@oclif/core/lib/interfaces/parser").CustomOptions, {
    multiple: false;
    requiredOrDefaulted: false;
}>;
export declare function selectApp(showpadClient: ShowpadClient, message: string): Promise<string>;
export declare function selectVersion(showpadClient: ShowpadClient, message: string, appId: string): Promise<string>;
export declare class DateFormatConfig {
    locale: string;
    timeZone: string;
    constructor(locale?: string, timeZone?: string);
    static getFormatConfigFromEnv(): DateFormatConfig;
    getDateTimeFormat(): Intl.DateTimeFormat;
}
export declare function formatDate(config: DateFormatConfig, key: string, flagsOutput?: string): (row: Record<string, string>) => string;
export declare function delay(ms: number): Promise<void>;
export declare function untildify(dirtyPath: string): string;
export declare function getCorrectPath(dirtyPath: string): string;
export declare class ValidationError extends CLIError {
    errors: ErrorObject[];
    constructor(message: string, errors: ErrorObject[], options?: {
        exit?: false | number;
    } & PrettyPrintableError);
}
export declare function validateManifest(manifest: ShowpadAppManifestSchemaV2, message: string, fetchFunction?: FetchFunction): Promise<void>;
