import type { ScopeType } from '../../utils/types.js';
import type { CoreConfig, CoreResult } from '../index.js';
export interface BlueprintInitOptions extends CoreConfig {
    token: string;
    args: {
        dir?: string;
    };
    flags: {
        dir?: string;
        example?: string;
        'blueprint-type'?: string;
        'project-id'?: string;
        'organization-id'?: string;
        'stack-id'?: string;
        'stack-name'?: string;
        verbose?: boolean;
    };
}
export declare function blueprintInitCore(options: BlueprintInitOptions): Promise<CoreResult>;
export declare function validateFlags(flags: {
    stackId?: string;
    stackName?: string;
    organizationId?: string;
    projectId?: string;
}): CoreResult | null;
interface ResolvedScope {
    scopeType: ScopeType;
    scopeId: string;
    stackId: string | undefined;
}
export declare function resolveScopeAndStack(params: {
    projectId: string | undefined;
    organizationId: string | undefined;
    stackId: string | undefined;
    stackName: string | undefined;
    log: (message: string) => void;
    token: string;
}): Promise<ResolvedScope>;
export declare function determineBlueprintExtension(params: {
    requestedType: string | undefined;
    blueprintDir: string;
    log: (message: string) => void;
}): Promise<string>;
export declare function createBlueprintFiles(params: {
    blueprintDir: string;
    userProvidedDirName: string | undefined;
    blueprintExtension: string;
    scopeType: ScopeType;
    scopeId: string;
    stackId: string | undefined;
    bin: string;
    log: (message: string) => void;
}): Promise<CoreResult>;
export {};
