///
///
import { Transform } from "stream";
import File = require("vinyl");
interface IComparator {
/**
* @param stream Should be used to queue sourceFile if it passes some comparison
* @param sourceFile File to operate on
* @param destPath Destination for sourceFile as an absolute path
*/
(stream: Transform, sourceFile: File, destPath: string): void;
}
interface IDestination {
(file: string | Buffer): string;
}
interface IOptions {
/**
* The working directory the folder is relative to.
* @default process.cwd()
*/
cwd?: string | undefined;
/**
* Extension of the destination files.
*/
extension?: string | undefined;
/**
* Function that determines whether the source file is different from the destination file.
* @default changed.compareLastModifiedTime
*/
hasChanged?: IComparator | undefined;
/**
* Function to transform the path to the destination file. Should return the absolute path to the (renamed) destination file.
*/
transformPath?: ((destPath: string) => string) | undefined;
}
interface IGulpChanged {
(destination: string | IDestination, options?: IOptions): NodeJS.ReadWriteStream;
compareLastModifiedTime: IComparator;
compareContents: IComparator;
}
declare const changed: IGulpChanged;
export = changed;