/// <reference types="node" />
export declare type ITinypngSource = string | Buffer;
export declare type ITinypngTarget = string;
export interface ITinypngProcessOption {
    proxy?: string;
    resize?: {
        method: 'fit' | 'scale' | 'cover';
        width?: number;
        height?: number;
    };
    svgo?: any;
}
export interface ITinypngOption extends ITinypngProcessOption {
    cacheDir?: string;
    recordFile?: string;
    tokens: string[];
}
export default class  {
    option: ITinypngOption;
    private tp;
    private svgo;
    private fakeTokenMap;
    constructor(option: ITinypngOption);
    tiny(source: ITinypngSource, target?: ITinypngTarget | ITinypngProcessOption, option?: ITinypngProcessOption): Promise<Buffer>;
    private tinySuccess(buffer, target, resolve, reject);
    private tinyFailed(e, expire, resolve, reject);
}
