import { IStyle } from 'import-sort-style';
import { CacheStrategyType } from 'tsconfig-resolver';
/**
 * The aliased module configuration object.
 */
export interface CustomSettings {
    /**
     * When `true` will not search for any tsconfig.json. This might provide a slight performance boost.
     *
     * This options takes precedence over the other tsconfig options.
     */
    ignoreTsConfig: boolean;
    /**
     * The name to use when searching for a TsConfig.
     *
     * @default 'tsconfig.json'
     */
    tsconfigName: string;
    /**
     * A direct path to the tsconfig file relative to the `cwd`.
     */
    tsconfigFilePath: string | undefined;
    /**
     * Determines how often to check for a new parent tsconfig file. By default it
     * will check every time the directory changes. If you only have one
     * tsconfig.json file for the whole project with consistent it makes sense to
     * update this to 'never'.
     *
     * @default 'directory'
     */
    cacheStrategy: CacheStrategyType;
    /**
     * When true will allow patterns which start with a `*` character.
     *
     * @default false
     */
    wildcardAtStart: boolean;
    /**
     * Extra patterns that should be recognised as internal aliases.
     *
     * The pattern is the same as `tsconfig` files support supporting `*` as the
     * wildcard character.
     */
    extraAliases: string[];
    /**
     * When true this will insert a space after the alias section causing the
     * relative imports to appear as a separate block.
     *
     * @default true
     */
    spaceAfterAliases: boolean;
    /**
     * Ignore all paths that match this pattern. This takes preference over any
     * matching aliases. If a module path matches the alias but doesn't
     *
     * The pattern is the same as `tsconfig` files support supporting `*` as the
     * wildcard character.
     */
    ignoredAliases: string[];
    /**
     * Files matching this pattern will be moved to a special group at the end of
     * the imports.
     *
     * The pattern is the same as `tsconfig` files support supporting `*` as the
     * wildcard character.
     */
    bottomAliases: string[];
}
/**
 * Sort the modules in the following order.
 *
 * - Imports with no members are left unsorted at the top of the file. These
 *   tend to have side effects and their order is important. `import 'tolu';`
 * - Node module imports. `import { join } from 'path';`
 * - Absolute module imports (but not aliased). `import main from 'main';`
 * - Aliased imports taken from the `tsconfig.json`
 * - Relative module imports
 * - Bottom imports, which are set in the settings object as `bottomAliases`
 */
declare const sortStyleCustom: IStyle;
export default sortStyleCustom;
//# sourceMappingURL=index.d.ts.map