import { BaseTransitionProps } from 'vue'; import { DialogData } from '../components/CDialog/CDialog'; declare type DeepPartial = { [P in keyof T]?: T[P] extends (infer U)[] ? DeepPartial[] : T[P] extends Readonly[] ? Readonly>[] : DeepPartial; }; export interface DollarChusho { options: ChushoOptions; openDialogs: DialogData[]; } export interface ContainerItemClass { containerClass: string; itemClass: string; } export declare type VueClassBinding = string | Record | Array | string>; export declare type ClassGenerator = (ctx?: Record) => VueClassBinding; declare type ComponentCommonOptions = { class?: VueClassBinding | ClassGenerator; }; interface ComponentsOptions { alert?: ComponentCommonOptions; btn?: ComponentCommonOptions; dialog?: ComponentCommonOptions & { overlayClass?: VueClassBinding | ClassGenerator; transition?: BaseTransitionProps; }; icon?: ComponentCommonOptions & { spriteUrl?: string; width?: number; height?: number; }; tabs?: ComponentCommonOptions; tabList?: ComponentCommonOptions; tab?: ComponentCommonOptions; tabPanels?: ComponentCommonOptions; tabPanel?: ComponentCommonOptions; collapse?: ComponentCommonOptions & { transition?: BaseTransitionProps; }; collapseBtn?: ComponentCommonOptions & { inheritBtnClass: boolean; }; collapseContent?: ComponentCommonOptions & { transition?: BaseTransitionProps; }; picture?: { class?: VueClassBinding | ClassGenerator; }; } export interface ChushoOptions { rtl: () => boolean; components: ComponentsOptions; } export declare type ChushoUserOptions = DeepPartial; export {};