export interface GradientConfig {
    colors: string[];
    direction: 'top-bottom' | 'bottom-top' | 'left-right' | 'right-left' | 'diagonal';
}
export interface CaptionBoxConfig {
    autoSize?: boolean;
    maxLines?: number;
    lineHeight?: number;
    minHeight?: number;
    maxHeight?: number;
}
export interface CaptionConfig {
    font: string;
    fontsize: number;
    color: string;
    align: 'left' | 'center' | 'right';
    paddingTop: number;
    paddingBottom?: number;
    paddingLeft?: number;
    paddingRight?: number;
    position?: 'overlay' | 'above';
    box?: CaptionBoxConfig;
}
export interface DeviceStyleConfig {
    framePosition?: 'top' | 'center' | 'bottom' | number;
    frameScale?: number;
    captionSize?: number;
    captionPosition?: 'above' | 'overlay';
    captionBox?: CaptionBoxConfig;
}
export interface DeviceConfig extends DeviceStyleConfig {
    input: string;
    resolution: string;
    frame?: string;
    autoFrame?: boolean;
    preferredFrame?: string;
    partialFrame?: boolean;
    frameOffset?: number;
}
export interface AppshotConfig {
    output: string;
    frames: string;
    gradient: GradientConfig;
    caption: CaptionConfig;
    devices: {
        [key: string]: DeviceConfig;
    };
}
export interface CaptionEntry {
    [lang: string]: string;
}
export interface CaptionsFile {
    [filename: string]: string | CaptionEntry;
}
export interface CaptionSuggestions {
    global: string[];
    iphone?: string[];
    ipad?: string[];
    mac?: string[];
    watch?: string[];
    [device: string]: string[] | undefined;
}
export interface CaptionFrequency {
    [caption: string]: number;
}
export interface CaptionHistory {
    suggestions: CaptionSuggestions;
    frequency: CaptionFrequency;
    patterns: string[];
    lastUpdated: string;
}
//# sourceMappingURL=types.d.ts.map