import { AxisTypeValues } from "./axisType"; import { Axis, D3Scale, DomainTuple, Orientation, SettingNameValues, Settings, ValueName } from "../types"; export type AxisComponent = (scale: any) => Axis; export interface AxisFactoryContent { scale: D3Scale; domain: DomainTuple; domainFunction: Function; labelFunction: (valueName: any) => (d: any) => string | Date; component: { bottom: AxisComponent; left: AxisComponent; top: AxisComponent; right: AxisComponent; }; size: number | undefined; decorate: Function; label: string; tickFormatFunction: Function; } interface AxisFactory { (data: any[]): any; memoValue(): Axis; memoValue(a: Axis): AxisFactory; excludeType(): () => AxisTypeValues; excludeType(nextExcludeType?: AxisTypeValues): this; orient(): () => Orientation; orient(nextOrient?: Orientation): this; settingName(): () => SettingNameValues; settingName(nextSettingName?: SettingNameValues): this; settingValue(): () => string | null; settingValue(nextSettingValue?: string | null): this; valueName(): () => ValueName; valueName(nextValueName?: ValueName): this; valueNames(): () => ValueName[]; valueNames(nextValueNames?: ValueName[]): this; modifyDomain(): () => ModifyDomainFunc; modifyDomain(nextModifyDomain?: ModifyDomainFunc): this; include?: (nextInclude?: number[]) => any; paddingStrategy?: (nextPaddingStrategy?: any) => any; pad?: (nextPad?: [number, number]) => any; } export type ModifyDomainFunc = (domain: any[]) => any[]; export declare const axisFactory: (settings: Settings) => AxisFactory; export {};