import * as SourceLocation from "./SourceLocation"; export declare type Position = SourceLocation.SourcePosition; export declare type ErrorWithoutPosition = Partial; export declare type ErrorWithPosition = Required; export declare type ErrorWithMappedPosition = SourceLocation.MappedSourceRange; export declare type ErrorLocation = ErrorWithoutPosition | ErrorWithPosition | ErrorWithMappedPosition; export declare function hasMappedPosition(loc: ErrorLocation): loc is ErrorWithMappedPosition; export declare function errorHasRange(location: ErrorLocation | undefined): location is ErrorWithPosition; /** * Custom CSS Blocks error base class. Will format `SourceLocation` into thrown * error message if provided. */ export declare class CssBlockError extends Error { static prefix: string; origMessage: string; location?: ErrorLocation; constructor(message: string, location?: ErrorLocation); private annotatedMessage; } export declare function charInFile(filename: string | ErrorWithoutPosition, position: SourceLocation.SourcePosition | undefined): string; export declare function charInFile(position: ErrorWithPosition | SourceLocation.SourceLocation | ErrorLocation): string; export declare function charInFile(filename: string, line: number, column: number): string; /** * Custom CSS Blocks error type for template analysis errors. */ export declare class TemplateAnalysisError extends CssBlockError { static prefix: string; constructor(message: string, location?: ErrorLocation, details?: string); } /** * Custom CSS Blocks error for missing source path from PostCSS */ export declare class MissingSourcePath extends CssBlockError { static prefix: string; constructor(); } /** * Custom CSS Blocks error for Block syntax error */ export declare class InvalidBlockSyntax extends CssBlockError { static prefix: string; constructor(message: string, location?: ErrorLocation); } /** * Custom CSS Blocks error type for malformed BlockPath errors. */ export declare class BlockPathError extends CssBlockError { static prefix: string; constructor(message: string, location?: ErrorLocation, details?: string); } /** * Acts as a collection of CssBlockErrors along with utility methods to add and * clear errors */ export declare class MultipleCssBlockErrors extends CssBlockError { static prefix: string; private _errors; constructor(errors: CssBlockError[], location?: ErrorLocation, details?: string); add(error: CssBlockError): void; get errors(): CssBlockError[]; clear(): void; } export declare class CascadingError extends CssBlockError { static prefix: string; cause: CssBlockError; constructor(message: string, rootCause: CssBlockError, location?: ErrorLocation); } //# sourceMappingURL=errors.d.ts.map