/**
 * Command line interface types for session and profile management
 */
export interface SessionCommandOptions {
    dir?: string;
    profile?: string;
    metadata?: SessionMetadata;
    extend?: boolean;
}
export interface SessionMetadata {
    url?: string;
    userAgent?: string;
    viewport?: {
        width: number;
        height: number;
    };
    description?: string;
    tags?: string[];
    environment?: 'dev' | 'staging' | 'prod';
}
export interface SessionSaveOptions extends SessionCommandOptions {
    browserProfile?: string;
    metadata?: SessionMetadata;
    storageState?: StorageState;
}
export interface SessionLoadResult {
    storageState: StorageState;
    metadata?: SessionMetadata;
    profile?: string;
}
export interface SessionListOptions {
    dir?: string;
    filter?: 'all' | 'valid' | 'expired';
    format?: 'table' | 'json' | 'csv';
}
export interface ProfileCommandOptions {
    dir?: string;
    role?: string;
    description?: string;
    environment?: 'dev' | 'staging' | 'prod';
    template?: string;
}
export interface ProfileCreateOptions extends ProfileCommandOptions {
    name?: string;
    role?: string;
    settings?: BrowserProfileSettings;
    metadata?: ProfileMetadata;
}
export interface BrowserProfileSettings {
    userAgent?: string;
    viewport?: {
        width: number;
        height: number;
    };
    locale?: string;
    timezone?: string;
    permissions?: string[];
    cookies?: CookieData[];
    localStorage?: Record<string, string>;
    sessionStorage?: Record<string, string>;
}
export interface ProfileMetadata {
    tags?: string[];
    environment?: 'dev' | 'staging' | 'prod';
    baseUrl?: string;
    description?: string;
    team?: string;
    version?: string;
    associatedSessions?: string[];
}
export interface ProfileListOptions {
    dir?: string;
    role?: string;
    environment?: string;
    format?: 'table' | 'json' | 'csv';
}
export interface ScaffoldOptions {
    path?: string;
    template?: string;
    overwrite?: boolean;
    dryRun?: boolean;
}
export interface ScaffoldPageOptions extends ScaffoldOptions {
    extends?: string;
    selectors?: string[];
    actions?: string[];
    assertions?: string[];
}
export interface ScaffoldTestOptions extends ScaffoldOptions {
    fixture?: string;
    tags?: string[];
    describe?: string;
    parallel?: boolean;
}
export interface ScaffoldFixtureOptions extends ScaffoldOptions {
    type?: 'auth' | 'data' | 'api' | 'custom';
    dependencies?: string[];
    shared?: boolean;
}
export interface StorageState {
    cookies: CookieData[];
    origins: OriginData[];
}
export interface CookieData {
    name: string;
    value: string;
    domain: string;
    path: string;
    expires: number;
    httpOnly: boolean;
    secure: boolean;
    sameSite: 'Strict' | 'Lax' | 'None';
}
export interface OriginData {
    origin: string;
    localStorage: Array<{
        name: string;
        value: string;
    }>;
    sessionStorage: Array<{
        name: string;
        value: string;
    }>;
}
export interface CommandResult<T = any> {
    success: boolean;
    data?: T;
    error?: string;
    warnings?: string[];
    metadata?: {
        executionTime?: number;
        affectedFiles?: string[];
        createdDirectories?: string[];
    };
}
export interface CommandContext {
    workingDir: string;
    verbose?: boolean;
    dryRun?: boolean;
    force?: boolean;
}
export interface TemplateContext {
    projectName: string;
    templateType: string;
    variables: Record<string, string>;
    features: string[];
}
export interface GeneratorOptions {
    targetPath: string;
    templatePath: string;
    context: TemplateContext;
    overwrite?: boolean;
    backup?: boolean;
}
export interface ValidationResult {
    isValid: boolean;
    errors: ValidationError[];
    warnings: ValidationWarning[];
}
export interface ValidationError {
    field: string;
    message: string;
    code: string;
    severity: 'error' | 'warning';
}
export interface ValidationWarning {
    field: string;
    message: string;
    suggestion?: string;
}
export type SessionAction = 'list' | 'save' | 'load' | 'delete' | 'clear' | 'extend' | 'info';
export type ProfileAction = 'list' | 'create' | 'delete' | 'update' | 'setup' | 'export' | 'import';
export type ScaffoldType = 'page' | 'test' | 'fixture' | 'component' | 'helper';
export type { BrowserProfile, ProfileSummary } from '../core/browser-profile';
export type { SessionData, SessionListItem } from '../core/session-manager';
//# sourceMappingURL=cli-types.d.ts.map